JSFのSelectOneMenuなどのコントロールのバインドの問題
<h:form id="forma">
<h:outputText value="Please select a country:" />
<h:selectOneRadio value="#{Regions.country}" valueChangeListener="#{Regions.updateCountry}" immediate="false" onclick="submit()">
<f:selectItem itemLabel="USA" itemValue="USA" />
<f:selectItem itemLabel="CANADA" itemValue="CANADA" />
<!-- <a:support event="onchange" reRender="regionPanel" />-->
</h:selectOneRadio>
</h:form>
<h:form id="formb">
<a:outputPanel id="regionPanel">
<s:decorate id="regionDecoration" template="layout/display.xhtml">
<ui:define name="label">Select a region:</ui:define>
<h:selectOneMenu id="selectRegion" value="#{dealerList.region}" >
<!-- <rich:comboBox id="selectRegion" value="#{dealerList.region}"-->
<!-- converter="SelectItemConverter">-->
<f:selectItems value="#{Regions.regionItems}" />
<!-- </rich:comboBox>-->
</h:selectOneMenu>
</s:decorate>
</a:outputPanel>
上のコードはselectoneradioをクリックすることによってselectonemenuがアメリカ州またはカナダ省を表示することを決定します.正常に表示されますが、selectonemenuの値がbacking beanに届かず、value is not validエラーが発生しました.a 4 jの問題かと思いきやvaluechangelistenerでselectonemenuのselectitemsを動的に更新する.故障は相変わらずです.
今日はなぜselectitemsを動的に設定するのが問題なのか考えています.ページの最初の表示時にすべてのitemsをselectitemsに追加して、もう一度試して、OK!
従来、動的更新selectitemsはselectonemenuを更新していなかったため、JSFはselectonemenuで対応する値が見つからなかった.
次はselectonemenuをbackingbeanにバインドし、この問題を徹底的に解決するつもりです.