我使用c:forEach里面rich:dataTable。但c:forEach不会替代answer.choices变量的值,因此不会呈现任何内容。在rich:dataTable中使用c:forEach是错误的吗?c:forEach不渲染丰富内容:dataTable
我使用c:forEach里面rich:dataTable。但c:forEach不会替代answer.choices变量的值,因此不会呈现任何内容。在rich:dataTable中使用c:forEach是错误的吗?c:forEach不渲染丰富内容:dataTable
是的,这是行不通的 - 不使用JSTL标签UI组件迭代里面(dataTable
,例如)。
使用<ui:repeat>
或<a4j:repeat>
代替<c:forEach>
里面一个dataTable
重复这些标签的签名是有一点不同:
<a4j:repeat value="#{bean.items}" var="item">
<h:outputText value="#{item}" />
</a4j:repeat>
@Bozho很高兴知道(+1)。但是我应该在哪里避免在Java Server Faces中使用JSTL? – 2010-01-29 16:09:37
从JSTL中只有'functions' taglib在JSF中实际上很有用。在JSF中,JSTL'core'和'fmt' taglibs是多余的,因为JSF自己已经有了相同的方法。此外,JSTL'xml'和'sql' taglibs仅用于快速原型设计,没有商业价值。 – BalusC 2010-01-29 16:16:08
@BalusC谢谢BalusC – 2010-01-29 18:20:59
你应该知道的编译时间与渲染时间标签在jsf中。理解这种组合无法工作的原因是关键。
来自昨天的类似问题和答案:http://stackoverflow.com/questions/2151476/backing-bean-string-access-in-jsf/2154159#2154159 – BalusC 2010-01-29 16:13:51