2010-01-29 141 views
1

我使用c:forEach裏面rich:dataTable。但c:forEach不會替代answer.choices變量的值,因此不會呈現任何內容。在rich:dataTable中使用c:forEach是錯誤的嗎?c:forEach不渲染豐富內容:dataTable

+0

來自昨天的類似問題和答案:http://stackoverflow.com/questions/2151476/backing-bean-string-access-in-jsf/2154159#2154159 – BalusC 2010-01-29 16:13:51

回答

8

是的,這是行不通的 - 不使用JSTL標籤UI組件迭代裏面(dataTable,例如)。

使用<ui:repeat><a4j:repeat>代替<c:forEach>裏面一個dataTable

重複這些標籤的簽名是有一點不同:

<a4j:repeat value="#{bean.items}" var="item"> 
    <h:outputText value="#{item}" /> 
</a4j:repeat> 
+0

@Bozho很高興知道(+1)。但是我應該在哪裏避免在Java Server Faces中使用JSTL? – 2010-01-29 16:09:37

+3

從JSTL中只有'functions' taglib在JSF中實際上很有用。在JSF中,JSTL'core'和'fmt' taglibs是多餘的,因爲JSF自己已經有了相同的方法。此外,JSTL'xml'和'sql' taglibs僅用於快速原型設計,沒有商業價值。 – BalusC 2010-01-29 16:16:08

+0

@BalusC謝謝BalusC – 2010-01-29 18:20:59

1

你應該知道的編譯時間與渲染時間標籤在jsf中。理解這種組合無法工作的原因是關鍵。