Jsf 动态包含的页面表单在第一次单击时提交失败,但第二次单击确定吗?
我想动态地将一个xhtml页面包含到另一个页面中。 我从一个组合中选择要包含的页面,该组合列出了我可以包含的不同页面, 其中包含的页面将由AJAX显示在一个面板中 包含的页面包含一个 如果我提交:第一次只执行阶段1和6。 如果我第二次提交:一切正常,并被视为一篇包含所有阶段的帖子。 为什么? 我已经解释过这是JSF2.0/2.1中的一个“正常”错误 但是我在这里使用JSF2.2.7和Tomcat7(没有cdi) 怎么了Jsf 动态包含的页面表单在第一次单击时提交失败,但第二次单击确定吗?,jsf,jsf-2.2,Jsf,Jsf 2.2,我想动态地将一个xhtml页面包含到另一个页面中。 我从一个组合中选择要包含的页面,该组合列出了我可以包含的不同页面, 其中包含的页面将由AJAX显示在一个面板中 包含的页面包含一个 如果我提交:第一次只执行阶段1和6。 如果我第二次提交:一切正常,并被视为一篇包含所有阶段的帖子。 为什么? 我已经解释过这是JSF2.0/2.1中的一个“正常”错误 但是我在这里使用JSF2.2.7和Tomcat7(没有cdi) 怎么了 INFO IN pour /m-page-include-v1/proces
INFO IN pour /m-page-include-v1/process.faces ¤¤¤¤¤ POST
INFO AJAX BEFORE RESTORE_VIEW 1 for viewId=null
INFO AJAX AFTER RESTORE_VIEW 1 for viewId=/process.xhtml
INFO AJAX BEFORE RENDER_RESPONSE 6 for viewId=/process.xhtml
INFO AJAX AFTER RENDER_RESPONSE 6 for viewId=/process.xhtml
INFO IN pour /m-page-include-v1/process.faces ¤¤¤¤¤ POST
INFO AJAX BEFORE RESTORE_VIEW 1 for viewId=null
INFO AJAX AFTER RESTORE_VIEW 1 for viewId=/process.xhtml
INFO AJAX BEFORE APPLY_REQUEST_VALUES 2 for viewId=/process.xhtml
INFO AJAX AFTER APPLY_REQUEST_VALUES 2 for viewId=/process.xhtml
INFO AJAX BEFORE PROCESS_VALIDATIONS 3 for viewId=/process.xhtml
INFO AJAX AFTER PROCESS_VALIDATIONS 3 for viewId=/process.xhtml
INFO AJAX BEFORE RENDER_RESPONSE 6 for viewId=/process.xhtml
INFO AJAX AFTER RENDER_RESPONSE 6 for viewId=/process.xhtml
process.xhtml“主页面”:
包含页面:
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
<h:form id="userForm">
<h:messages styleClass="messages" id="messages" />
<h:panelGrid columns="2">
<h:outputLabel value="#{i18n.name}" />
<h:panelGroup>
<h:inputText id="name" value="#{userForm.name}" label="#{i18n.name}" />
</h:panelGroup>
</h:panelGrid>
<h:commandButton actionListener="#{userAction.checkListener()}" value="ok" id="check">
<f:ajax execute="@form" render="@form" />
</h:commandButton>
</h:form>
</ui:composition>
正如@Ganji所说,第7点是我的问题 你可以找到解决办法 在这个链接中还描述了我认为最简单的解决方案:包括@BalusC Omnifaces>1.7。我试过1.8.1版 刚刚在我的“主页”上添加了以下内容,它就像一个符咒
<h:body>
<!-- should be placed inside h:body -->
<h:outputScript library="omnifaces" name="fixviewstate.js" target="head" />
我希望此链接能够帮助您了解第7点可能与您有关。您是对的,甘吉,第7点似乎适用。在2.0中检测到的带有解决方案的bug不应该在2.2中得到纠正,这是多么遗憾啊!
<h:body>
<!-- should be placed inside h:body -->
<h:outputScript library="omnifaces" name="fixviewstate.js" target="head" />