Я пытаюсь понять, почему я получаю javax ViewExpiredException в моем простом webapp - но я, похоже, не понимаю, что вызывает истечение срока действия представления.Javax ViewExpiredException брошен на POST
Это register.jsf:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:b="http://bootsfaces.net/ui"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
template="pageTemplate.xhtml">
<ui:define name="content">
<b:panel title="Registrierung" look="primary">
<h:form>
<h:panelGrid>
<h:outputText value="Name:"/>
<b:inputText value="#{registerController.user.name}" placeholder="Robina Kuh"/>
<h:outputText value="E-Mail:"/>
<b:inputText value="#{registerController.user.email}" placeholder="[email protected]" size="32">
<f:facet name="prepend">
<h:outputText value="@" />
</f:facet>
</b:inputText>
<b:commandButton value="Registrieren" icon="envelope" action="#{registerController.registerUser}"/>
</h:panelGrid>
</h:form>
</b:panel>
</ui:define>
</ui:composition>
Шаблон:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:b="http://bootsfaces.net/ui"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>Lunch</title>
</h:head>
<h:body style="padding: 60px;">
<ui:include src="topMenu.xhtml" />
<ui:insert name="content">
<b:container>
<b:jumbotron>
<h1>Da ist wohl etwas schiefgelaufen... Sorry!</h1>
</b:jumbotron>
</b:container>
</ui:insert>
</h:body>
</html>
Это контроллер:
@Named("registerController")
@SessionScoped
public class RegisterController implements Serializable {
@Inject
private UserManager userManager;
private User user;
private Logger logger = Logger.getLogger(RegisterController.class);
public RegisterController() {
logger.debug("Created RegisterController");
user = new User();
if(user != null)
logger.debug("Name: " + user.getName()
+"\nEmail: " + user.getEmail());
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String registerUser() {
logger.debug("registerUser called"
+ "\n Name: " + user.getName()
+"\nEmail: " + user.getEmail());
userManager.addUser(user);
logger.debug("registerUser end");
return "benutzer.jsf";
}
}
Он даже не входя в метод действия в моей commandButton, когда я пытаюсь его отладить (я использую Framework Bootsfaces, но я не думаю, что это имеет какое-либо отношение к th в Framework).
Настройка состояния сохранения на клиент работает, но я хотел бы понять, в чем проблема? Из того, что я понимаю JSF, это должно работать без нажатия на государство на стороне клиента. Я пропустил что-то фундаментальное?
Я развернул webapp к серверу widlfly 9.
Является ли это приемлемым, как обман? http://stackoverflow.com/questions/25880031/viewexpiredexception-on-a-wildfly-served-webapp-only-in-a-particular-webbrowser/ – BalusC
Привет, Бауке, я прочитал эти и некоторые другие объяснения, но я до сих пор не Не поймите, что вызывает ожидание – Stefan
Ну, вот еще немного пищи для чтения: http://stackoverflow.com/q/3106452 и http://stackoverflow.com/q/3642919 – BalusC