JSF允许在panelGroup
内selectOneMenu
的这种“嵌套”吗?
<p:selectOneMenu>
<f:selectItem itemValue="MOUNT" itemLabel="Local directory" />
<f:selectItem itemValue="AS3" itemLabel="Amazon S3" />
<f:selectItem itemValue="FTP" itemLabel="FTP site" />
<h:panelGroup rendered="#{ConfigBean.rackspace}">
<f:selectItem itemValue="RCF" itemLabel="RackspaceCloud"/>
</h:panelGroup>
</p:selectOneMenu>
永远不会呈现第4个selectItem
,无论ConfigBean.rackspace
是true
。
我还尝试了p:outputPanel
而不是h:panelGroup
。
答案 0 :(得分:1)
您可以将其包装在c:if
中,但如果您更改了bean中的rackspace,则不会重新呈现选择项。
<c:if test="#{ConfigBean.rackspace}">
<f:selectItem itemValue="RCF" itemLabel="RackspaceCloud"/>
</c:if>
请记住,JSTL组件仅在创建视图期间执行,因此您无法添加
<f:selectItem itemValue="RCF" itemLabel="RackspaceCloud"/>
基于bean中用于后续POSTS的条件。
答案 1 :(得分:1)
你不能使用<h:panelGroup
......你最好不要使用<c:if
(INMO这是一种过度杀伤)
而是只使用f:selectItems
并在服务器端有条件地加载它......