p:selectOneRadio没有使用p:ajax在事件"更改"中更新模型

Lea*_*ade 5 ajax primefaces jsf-2 selectoneradio

我正在使用p:selectOneRadiowith p:ajax和另一个component(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>
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 6

摆脱event="change",这是错误的事件.它默认为click并且是正确的.

<p:ajax listener="#{xyzController.aoTrocar}"
    update="panelDominioFields" process="@form" />
Run Code Online (Sandbox Code Playgroud)

单选按钮值永远不会改变.它们只能通过点击选择.反过来,提交选定的值,但未提供未选择的值.