是否允许在selectOneMenu中使用panelGroup?

时间:2013-03-06 15:48:27

标签: jsf primefaces

JSF允许在panelGroupselectOneMenu的这种“嵌套”吗?

<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.rackspacetrue

我还尝试了p:outputPanel而不是h:panelGroup

2 个答案:

答案 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并在服务器端有条件地加载它......