【发布时间】:2011-12-22 21:43:54
【问题描述】:
我已经为此苦苦挣扎了一段时间,希望有人可以帮助我。
我的这段代码使用 JSF-2 工作(取自 BalusC 在this question 中给出的解决方案):
<h:panelGroup id="content" layout="block">
<h:form id="contentform">
<h:panelGroup rendered="#{bean.page == 'include1'}">
<ui:include src="include1.xhtml" />
</h:panelGroup>
<h:panelGroup rendered="#{bean.page == 'include2'}">
<ui:include src="include2.xhtml" />
</h:panelGroup>
<h:panelGroup rendered="#{bean.page == 'include3'}">
<ui:include src="include3.xhtml" />
</h:panelGroup>
</h:form>
</h:panelGroup>
然后,在包含的每个页面中,我都有这样的东西(也在工作):
<h:outputText value="Name: "/>
<h:inputText value="#{itemsBean.item.name}" id="name" required="#{not empty param[save.clientId]}"/>
<h:outputText value="Desc: "/>
<h:inputText value="#{itemsBean.item.description}" id="desc" required="#{not empty param[save.clientId]}"/>
<h:commandButton binding="#{save}" label="Save" actionListener="#{itemsBean.save}">
<f:ajax render=":contentForm" execute="name desc"
</h:commandButton>
<h:dataTable value="#{itemsBean.itemsList}" var="item">
<h:column>
<h:outputText value="#{item.name}" />
</h:column>
<h:column>
<h:outputText value="#{item.description}" />
</h:column>
</h:dataTable>
现在的问题。
当我尝试将 PrimeFaces 用于包含的页面时,它就开始了,特别是当我将 <h:commandButton... 替换为:
<p:commandButton binding="#{save}" value="Save" actionListener="#{itemsBean.save}">
<p:ajax update=":contentForm" process="name desc" />
</p:commandButton>
结果是表单被多次提交,甚至来自其他包含(未呈现)页面的输入字段也被处理(完全混乱)。
我正在使用:
JSF 2.1.1 Mojarra 实现。
PrimeFaces 3.0-RC2.
雄猫 7.
(Tomcat 和 JSF 是 NetBeans 7.0.1 自带的)
提前谢谢你。
【问题讨论】:
标签: jsf-2 primefaces