我使用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