Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 发布时引发的Javax ViewExpiredException_Jsf_Jsf 2_Viewexpiredexception - Fatal编程技术网

Jsf 发布时引发的Javax ViewExpiredException

Jsf 发布时引发的Javax ViewExpiredException,jsf,jsf-2,viewexpiredexception,Jsf,Jsf 2,Viewexpiredexception,我试图理解为什么在我的简单webapp上会出现javaxviewexpiredexception,但我似乎不明白是什么导致视图过期 这是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"

我试图理解为什么在我的简单webapp上会出现javaxviewexpiredexception,但我似乎不明白是什么导致视图过期

这是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="robina.kuh@oc.com" 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>
当我尝试调试它时,它甚至没有输入commandButton的action方法(我使用的是Bootsfaces框架,但我认为这与该框架无关)

将“保存状态”设置为“客户端”是可行的,但我想了解问题出在哪里?根据我对JSF的理解,这应该可以在不将状态推送到客户端的情况下工作。 我错过了一些基本的东西吗


我将webapp部署到widlfly 9服务器上。

这是使用过的wildfly版本中的一个错误-刚刚使用了新的widlfly 10最终版本,并且它正在正常工作。

这可以接受为dupe吗?嗨,Bauke,我已经阅读了这些和其他一些解释,但我仍然不明白是什么导致了ExpireWell,这里还有一些值得阅读的东西:那么我是否正确地理解你,这似乎是一个野蝇虫?你还没有确认第一链接中的答案是否有效。
<?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";
    }
}