jspページでラジオボタンを選択するためのこのコードがあります:
<a4j:region>
<h:outputText value=" type" styleClass="labelStyle" />
<h:selectOneRadio id="addTypeAction" value="#{Address.addType}" styleClass="labelStyle">
<f:selectItem id="Bya" itemLabel="Report" itemValue="1" />
<f:selectItem id="Byad" itemLabel="Report3" itemValue="2" />
<f:selectItem id="Byadd" itemLabel="Report2" itemValue="3" />
<f:selectItem id="Byadd1" itemLabel="Report4" itemValue="4" />
<f:selectItem id="Byadd2" itemLabel="Report5" itemValue="5" />
<a4j:support event="onclick" action="#{adressBean.getsearchAddType}" reRender="AddressElements" />
</h:selectOneRadio>
</a4j:region>
アクションでは、メソッドを呼び出してブール値getsearchAddType
を設定しました。searchAdressClicked
がクリックされた場合の例でReport
は、ブール値を次のように設定しtrue
、パネル グリッドをレンダリングする必要があります。レポート以外がクリックされた場合、searchAdressClicked
ブール値を次のように設定しfalse
、パネル グリッドを非表示にする必要があります。
問題:
最初のクリックで、レポート ラジオ以外をクリックすると、パネル グリッドが非表示になり、正常に動作します。ページ自体で、もう一度クリックすると、Report
ラジオに対応するパネル グリッドが表示されません。ページはレンダリングされません。
これは再レンダリングされたパネル グリッドです
<a4j:region>
<a4j:outputPanel id="AddressElements">
<h:panelGroup rendered="#{adressBean.searchAdressClicked}">
<h:panelGrid columns="8">
<h:outputText value="Month" styleClass="labelStyle" />
<h:outputText id="id1" value="address to" styleClass="labelStyle" />
<h:outputText id="id2" value="Addressfrom" styleClass="labelStyle" />
</h:panelGrid>
</h:panelGroup>
</a4j:outputPanel>
</a4j:region>