Igo*_*gor 2 java iteration jsf jstl
我正在尝试将JSTL与JSF 1.1一起使用.以下代码导致我出现问题:
<c:forEach var="key" items="${names}">
<h:column>
<f:facet name="header">
<h:outputText value="#{key}"/>
</f:facet>
<h:outputText value="#{key}"/>
</h:column>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
其中names是一个String列表.名称是表格中显示的数据中包含的地图的关键,即我正在尝试完成以下内容:
<h:outputText value="#{data.fooMap[key]}"/>
Run Code Online (Sandbox Code Playgroud)
这段代码在h:dataTable(名称的迭代和显示)之外正常工作,但当我把它放在表中时,没有显示任何内容.
有没有人知道如何解决这个问题?
是否有一个JSF标记可以遍历h:dataTable中的列表?
任何帮助,将不胜感激!
JSF和JSTL没有按照您对编码的期望同步运行.在视图构建期间,它是首先从上到下运行的JSTL,结果是没有任何JSTL标记的纯JSF组件树.然后,在视图渲染时,它是JSF,它从上到下再次运行以生成HTML.
如果${names}是definied为var的<h:dataTable>则是根本不可用时,JSTL在做自己的工作.
您需要前往不同的解决方案(在支持bean中动态填充),或采用允许生成动态列的第三方组件库.例如,RichFaces有一个rich:columns专为此目的而设计的组件.
| 归档时间: |
|
| 查看次数: |
923 次 |
| 最近记录: |