Jsf 如何通过组件绑定更新p:selectOneRadio值
我已经绑定了一个p:selectOneRadio组件,如下所示Jsf 如何通过组件绑定更新p:selectOneRadio值,jsf,primefaces,binding,selectoneradio,Jsf,Primefaces,Binding,Selectoneradio,我已经绑定了一个p:selectOneRadio组件,如下所示 <p:selectOneRadio binding="#{bean.maritalStatusRadio}" value="#{bean.maritalStatus}" > <f:selectItems value="#{selectItemList.maritalStatusList}" /> <p:ajax event="change" listener="#{bean.handl
<p:selectOneRadio binding="#{bean.maritalStatusRadio}" value="#{bean.maritalStatus}" >
<f:selectItems value="#{selectItemList.maritalStatusList}" />
<p:ajax event="change" listener="#{bean.handleChangeInMaritalStatus}" />
</p:selectOneRadio>
侦听器方法不是更改select值的地方。它用于在用户更改视图中的选定选项时执行任何需要的操作 如果要更改所选的值,只需更改分配给绑定字段的值,在本例中为bean.maritalStatus。你可以在很多地方这样做(如果需要的话,包括youtr listener) 通常,on preRenderView方法是初始化选择默认值的地方。 在你看来:
<f:metadata>
<f:event
type="preRenderView"
listener="#{bean.initializeForNew}" />
</f:metadata>
这对我来说很有效,因为我没有在p:ajax中更新p:selectOneRadio
您是如何绑定组件的?向我们展示您的代码,以便我们可以帮助您。是的,像这样,我如何在HandleChangeInMaterialStatus侦听器方法中更改其值?阅读要点:这不是答案,请编辑您的问题以添加此信息。很抱歉,这是我的错误,现在我已编辑了我的问题
<f:metadata>
<f:event
type="preRenderView"
listener="#{bean.initializeForNew}" />
</f:metadata>
public void initializeForNew() throws ModelException {
if (!isPostBack()) {//only on loading
bean.maritalStatus = getDefaultMaritaStatus();
}
}
<p:selectOneRadio id="radioButton" binding="#{nominee.maritalStatusRadio}" value="#{nominee.prospective.maritalStatus}" disabled="#{disabled}" >
<f:selectItems value="#{selectItemList.maritalStatusList}" />
<p:ajax update="radioButton" event="change" listener="#{nominee.handleChangeInMaritalStatus}" />
</p:selectOneRadio>
It worked for me I was not updating p:selectOneRadio in p:ajax