c:forEach不在TabView中迭代列表

时间:2014-02-28 04:42:34

标签: jsf primefaces tabview

我一直在尝试使用c:forEach标记遍历一个标签列表(我自己的自定义标签对象)。但是当我运行代码时,标签不会显示出来。该页面没有标签。

当我调试代码时,我发现c:forEach项中列表对象的getter方法没有被调用。请参考以下xhtml代码:

<p:tabView id="tabView" dynamic="true" cache="false">   
       <p:ajax event="tabChange" listener="#{tabsController.onTabChange}" />

       <c:forEach  items="#{menusController.tabs}" var="customTab" varStatus="loop">
        <p:tab title="#{customTab.title}" >
            <f:subview id="tab_#{loop.index}">
                   <ui:include src="#{customTab.pageName}" />
            </f:subview>
            </p:tab>
         </c:forEach>
       </p:tabView>

我尝试按照此帖JSF dynamically include src in "ui:include src="#{bean.pagePath}"中的解决方案进行操作,但仍然无效。

1 个答案:

答案 0 :(得分:0)

你不应该混合JSP和JSF标签,c:forEach在JSF解析器之前执行,而是使用ui:repeat。