p:selectOneRadio
withp:ajax
と別のコンポーネントの値 ( )を使用しており、p:inputText
その値を Bean にバインドしていません。
代わりに使用する場合p:selectBooleanCheckbox
、動作はまさに必要なものであり、ajax でメソッドを呼び出す前に Bean を更新します。これはバグですか、p:selectOneRadio
それともデフォルトの動作ですか?
私はJSF2、PrimeFaces 4を使用しています
xhtmlコード:
<p:selectOneRadio id="enumId" value="#{xyzController.entity.enumValor}"
disabled="#{disabled}" required="true" plain="true">
<f:selectItems value="#{xyzController.enum}" var="item"
itemLabel="#{messages[ELUtils.evaluateExpression(itemLabelEL)]}"
itemValue="#{item}" />
<p:ajax event="change" listener="#{xyzController.aoTrocar}"
update="panelDominioFields" process="@form" />
</p:selectOneRadio>
<p:outputPanel layout="inline" id="panelDominioFields">
<p:inputText id="valorId"
value="#{xyzController.entity.valorNumericoValido}"
rendered="#{xyzController.mostrarCampoDominioNumerico}"
required="true">
<f:convertNumber type="number" locale="#{localeController.locale}"
currencyCode="#{localeController.currencyCode}" />
</p:inputText>
</p:outputPanel>