问:使用 primefaces 提交表单时,我应该使用什么语法来排除组件?
使用 process 属性我知道如何包含组件。
<h:inputText id="included"/>
<p:commandButton value="button" process="included" actionListener="#{myBean.doStuff}/>
我一直在尝试使用与此处答案中使用的语法类似的语法:如何在父组件的 ajax 更新中排除子组件?但不能让它工作
<h:inputText id="notIncluded" styleClass="notIncluded"/>
<p:commandButton ... process="@(form :not(.notIncluded))"/>
编辑(做作业并添加一个实际的工作示例):在 glassfish 3.1.2.2 和 primefaces 3.4.2 上
当我进一步观察时,排除在 h:panelGrid 内工作正常
<h:form id="aForm">
<h:panelGrid columns="2">
<p:inputText id="inc" styleClass="included" required="true" />
<p:message for="inc" />
<p:inputText id="notInc" styleClass="notIncluded" required="true" />
<p:message for="notInc" />
<p:commandButton value="submit" process="@(form :not(.notIncluded))"
update=":aForm" />
</h:panelGrid>
</h:form>
但不再排除在类似的 p:panelGrid 中
<h:form id="aForm">
<p:panelGrid columns="2">
<p:inputText id="inc" styleClass="included" required="true" />
<p:message for="inc" />
<p:inputText id="notInc" styleClass="notIncluded" required="true" />
<p:message for="notInc" />
<p:commandButton value="submit" process="@(form :not(.notIncluded))"
update=":aForm" />
</p:panelGrid>
</h:form>