我正在使用一个p:selectOneRadio
with p:ajax
和另一个组件的值(p:inputText
),不将其值绑定到我的 bean 中。
如果我使用p:selectBooleanCheckbox
相反,行为正是我所需要的,在调用 ajax 中的方法之前更新 bean。这是一个错误吗p:selectOneRadio
或者这是它的默认行为?
我在用着JSF2, PrimeFaces 4
The xhtml code:
<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>
摆脱event="change"
,这是错误的事件。它默认为click
并且已经是正确的了。
<p:ajax listener="#{xyzController.aoTrocar}"
update="panelDominioFields" process="@form" />
单选按钮的值永远不会改变。他们只是selected通过点击。依次提交选定的值,但不提交未选定的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)