Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 如何动态生成ace:tabPane组件?_Jsf_Jsf 2_Icefaces - Fatal编程技术网

Jsf 如何动态生成ace:tabPane组件?

Jsf 如何动态生成ace:tabPane组件?,jsf,jsf-2,icefaces,Jsf,Jsf 2,Icefaces,我使用的是JSF 2.1和ICEFaces 2,我有一个如下的选项卡集: <ace:tabSet clientSide="true"> <ace:tabPane> <f:facet name="label">My First Tab</f:facet> <h:outputText value="One"></h:outputText> </ace:tabPane>

我使用的是JSF 2.1和ICEFaces 2,我有一个如下的选项卡集:

<ace:tabSet clientSide="true">
    <ace:tabPane>
        <f:facet name="label">My First Tab</f:facet>
        <h:outputText value="One"></h:outputText>
    </ace:tabPane>
    <ace:tabPane>
        <f:facet name="label">Second Tab</f:facet>
        <h:outputText value="Two"></h:outputText>
    </ace:tabPane>
    <ace:tabPane>
        <f:facet name="label">Third Tab</f:facet>
        <h:outputText value="Third"></h:outputText>
    </ace:tabPane>
</ace:tabSet>

我的第一张账单
第二选项卡
第三选项卡
我不想硬编码选项卡窗格,而是希望根据列表动态生成它们。如何通过标准JSF或ICEFaces组件实现这一点

我尝试使用
,但不起作用:

<ui:repeat var="o" value="#{bean.myList}" varStatus="status">
    <ace:tabPane>
        <f:facet name="label">#{o.name}</f:facet>
        <h:selectManyCheckbox value="#{o.valuesArray}" layout="pageDirection">
            <f:selectItems value="#{o.checkboxes}" />
        </h:selectManyCheckbox>
    </ace:tabPane>
</ui:repeat>

#{o.name}

我不做ICEFaces,但你遇到的基本上和RichFaces的
一样。由于不存在假设的
(如
,它将是
/
的动态变体),因此必须使用视图构建时JSTL
标记来准备带有这些标记的JSF视图。您可以在您的ICEFaces页面上应用相同的选项:

<ace:tabSet clientSide="true">
  <c:forEach items="#{bean.tabs}" var="tab">
    <ace:tabPane>
      <f:facet name="label">#{tab.label}</f:facet>
      <h:outputText value="#{tab.name}"></h:outputText>
    </ace:tabPane>
  </c:forEach>
</ace:tabSet>


    • 我不做冰面,但你遇到的基本上和RichFaces的
      一样。由于不存在假设的
      (如
      ,它将是
      /
      的动态变体),因此必须使用视图构建时JSTL
      标记来准备带有这些标记的JSF视图。您可以在您的ICEFaces页面上应用相同的选项:

      <ace:tabSet clientSide="true">
        <c:forEach items="#{bean.tabs}" var="tab">
          <ace:tabPane>
            <f:facet name="label">#{tab.label}</f:facet>
            <h:outputText value="#{tab.name}"></h:outputText>
          </ace:tabPane>
        </c:forEach>
      </ace:tabSet>
      
      
      

      • 我想你可以这样写:

        <ice:panelTabSet var="tab" value="#{mainTabsTempl.tabs}">
            <ice:panelTab label="#{tab.label}">
                 body
            </ice:panelTab>
        </ice:panelTabSet>
        
        
        身体
        

        它不是标签集,而是同样的工作。

        我想你可以这样写:

        <ice:panelTabSet var="tab" value="#{mainTabsTempl.tabs}">
            <ice:panelTab label="#{tab.label}">
                 body
            </ice:panelTab>
        </ice:panelTabSet>
        
        
        身体
        

        它不是
        tabSet
        tag,但具有相同的功能。

        它不支持客户端导航,它只是服务器端它不支持客户端导航,它只是服务器端