次のGUI要素があります。自分でテキストを入力するか、事前定義されたテキストから選択するかを選択するためのドロップダウンメニュー。
<h:form id="test">
<div>
<h:outputLabel value="Please select:" />
<h:selectOneMenu value="#{myform.selection}">
<f:selectItem itemValue="1" itemLabel="Input text" />
<f:selectItem itemValue="2" itemLabel="Select from predefined texts" />
</h:selectOneMenu>
</div>
<div>
<h:outputLabel value="Your text: " />
<h:inputText value="#{myform.inputText}" rendered="#{myform.selection == 1}" />
<h:selectOneMenu value="#{myform.inputText}" rendered="#{myform.selection == 2}">
<f:selectItem itemValue="11" itemLabel="Preselected text 1" />
<f:selectItem itemValue="22" itemLabel="Preselected text 2" />
</h:selectOneMenu>
</div>
</h:form>
レンダリングされた条件を正しくプログラムするにはどうすればよいですか?
更新:フォームが読み込まれると、1がすでに選択されているため、inputTextがレンダリングされます。問題は、選択を2に変更しても何も起こらないことです。JSF1.2に基づいて変更されたJSFライブラリを使用します