我有一个<h:selectOneMenu>
页面,我想显示一些字段或其他字段,具体取决于selectOneMenu的选择值。这是可能的,如果是的话,怎么样?
答案 0 :(得分:22)
是的,这肯定是可能的。只需将下拉列表的值绑定到要显示/隐藏的组件的rendered
属性即可。这是一个启动的例子。
<h:form>
<h:selectOneMenu value="#{bean.item}">
<f:selectItem itemLabel="Select..." />
<f:selectItem itemValue="one" />
<f:selectItem itemValue="two" />
<f:selectItem itemValue="three" />
<f:ajax render="@form" />
</h:selectOneMenu>
<h:panelGroup rendered="#{bean.item == 'one'}">
<p>This will be shown if the selected item equals to "one".</p>
</h:panelGroup>
<h:panelGroup rendered="#{bean.item == 'two'}">
<p>This will be shown if the selected item equals to "two".</p>
</h:panelGroup>
<h:panelGroup rendered="#{bean.item == 'three'}">
<p>This will be shown if the selected item equals to "three".</p>
</h:panelGroup>
</h:form>
<h:panelGroup>
只是示例。它可以是每个JSF HTML组件,例如<h:inputText>
或甚至是另一个<h:selectOneMenu>
。