我有以下 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 时没有任何反应。我们使用基于 JSF 1.2 的修改后的 JSF 库