Q: primefaces を使用してフォームを送信するときにコンポーネントを除外するには、どの構文を使用すればよいですか?
プロセス属性を使用して、コンポーネントを含める方法を知っています。
<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>