c:forEach 不遍历 TabView 中的列表
Posted
技术标签:
【中文标题】c:forEach 不遍历 TabView 中的列表【英文标题】:c:forEach not iterating through list in a TabView 【发布时间】:2014-03-31 22:29:16 【问题描述】:我一直在尝试通过使用 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" 中的解决方案进行操作,但仍然没有成功。
【问题讨论】:
你真的需要在你的<p:tabView>
中有一个<ui:include>
吗?
是的,项目确实需要它!!!
没有人对此有答案吗?
【参考方案1】:
你不应该混合 JSP 和 JSF 标签,c:forEach 在 JSF 解析器之前执行,而是使用 ui:repeat。
【讨论】:
以上是关于c:forEach 不遍历 TabView 中的列表的主要内容,如果未能解决你的问题,请参考以下文章
使用 c:foreach (JSP/JSTL) 遍历 ArrayList,变量不起作用