1
由於problem with @ViewScoped,我必須在我的facelet中使用ui:repeat而不是c:foreach。但是我遇到這個問題,我想知道是否有人可以提出解決方法。ui:重複var屬性不按預期方式工作
<ui:repeat value="#{someBean.idCodes}"
var="led">
<h:outputText id="mailbox-#{led}"
value="#{someBean.getSomeValue(led)}" />
</ui:repeat>
第一個問題是#{led}引用是id屬性沒有得到評估。所有生成的id屬性都只是值「mailbox-」。我需要找到具有document.getElementById()的特定元素實例,所以我需要生成的ID屬性。
另一個我看不到解決方法的問題是,如果我在h:panelGrid元素中包裝ui:repeat元素,我最終會得到一個包含一個單元格的表格,而不是一個單元格idCodes集合的每個成員。
當使用c:foreach這些問題都不存在,但使用該標籤會導致其他問題。有什麼建議麼?
在詳細資料中貶值。你的建議奏效了。有趣的是,爲什麼它會與c:foreach一起工作。我沒有看過這個實現,但是它暗示了處理遵循不同規則的JSTL標籤是不同的。 – AlanObject 2011-05-18 19:25:06
此博客文章http://www.ilikespam.com/jsf/c%3Aforeach-vs-ui%3Arepeat-in-facelets解釋瞭如何處理jstl標籤與本機JSF標籤不同的處理方式,以及爲什麼混合這兩種方法是不好的理念。每個JSF程序員都應該閱讀這篇文章。 – digitaljoel 2011-05-18 19:47:18