当<ui:repeat>适用于X但<c:foreach>适用于Y </c:foreach> </ui:repeat>

时间:2010-11-18 10:13:40

标签: java jsf jstl

我在我的jsf应用中使用<c:foreach>来迭代一个人列表。我不使用<ui:repeat>,因为每个人都有自己的标签(primefaces)。 JSF英雄'BalusC'已经帮助我解决了这个问题link。现在我尝试保存(回发)数据。这不适用于<c:forEach>,从不调用Person对象的approriate setter。使用<ui:repeat>可行。显然,我没有理解这两个标签之间的区别所以我会嘲笑一些启示。

谢谢

马塞尔

2 个答案:

答案 0 :(得分:8)

<c:forEach>不会在服务器上构建JSF树节点。您可以直接在html中看到这一点,的输入具有通常的长且不同的id="j_12:customerTabPanel:j_34:customerName"

请阅读:

http://www.ninthavenue.com.au/blog/c:foreach-vs-ui:repeat-in-facelets

答案 1 :(得分:6)

<c:***>标记是构建时标记,因为<ui:***>是渲染时标记。为了区分这两个概念,我建议您阅读以下两个链接: