Jsf 2 更新值:单选按钮值来回切换
我正在尝试更新一个无线电组件,它是由一个选择框的onchange事件触发的。我看到单选按钮在onchange之后根据需要切换,但它会在下一秒自动切换回来Jsf 2 更新值:单选按钮值来回切换,jsf-2,Jsf 2,我正在尝试更新一个无线电组件,它是由一个选择框的onchange事件触发的。我看到单选按钮在onchange之后根据需要切换,但它会在下一秒自动切换回来 <h:selectOneMenu id="selectId" value="#{someBean.someSelectValue}" onchange="this.form.submit()" valueChangeListener="#{someBean.someChange}" immediate="true"> <
<h:selectOneMenu id="selectId" value="#{someBean.someSelectValue}"
onchange="this.form.submit()" valueChangeListener="#{someBean.someChange}" immediate="true">
<p:ajax update="radioId"/>
<f:selectItems value="#{someBean.availableSraTitel}" />
</h:selectOneMenu>
<h:selectOneRadio id="radioId" value="#{someBean.someRadioValue}">
<f:selectItem itemLabel="Yes" itemValue="true" />
<f:selectItem itemLabel="No" itemValue="false" />
</h:selectOneRadio>
我错过了什么
JonnyRemove onchange=this.form.submit f:ajax将向服务器提交值
另外remove immediate=true我不认为您真的打算跳过这里的任何验证
最后一件事,换成
p:ajax来自primefaces,您使用的是普通JSF组件
正如BalusC所建议的:您最好将listener={someBean.someChange}添加到f:ajax中,以替换valueChangeListener={someBean.someChange},您也应该更改方法的签名
另外remove immediate=true我不认为您真的打算跳过这里的任何验证
最后一件事,换成
p:ajax来自primefaces,您使用的是普通JSF组件
正如BalusC所建议的:您最好通过添加listener={someBean.someChange}来替换valueChangeListener={someBean.someChange}对于您的f:ajax,您也应该更改方法的签名在使用JSF 2.x开发时,请不要阅读JSF 1.x目标答案/教程/书籍/资源。在使用JSF 2.x开发时,请不要阅读JSF 1.x目标答案/教程/书籍/资源。虽然没有必要,但我还是更愿意将valueChangeListener替换为。您对旧值不感兴趣,并且当您打算更改其他输入的值时,valueChangeListener将位于错误的位置。虽然没有必要,但我还是希望将valueChangeListener替换为。您对旧值不感兴趣,当您打算更改其他输入的值时,valueChangeListener将位于错误的位置。