发布
社区首页 >问答首页 >c:forEach vs ui:重复(a.k.a ice:panelSeries)

c:forEach vs ui:重复(a.k.a ice:panelSeries)
EN

Stack Overflow用户
提问于 2010-08-23 11:55:34
回答 1查看 2.1K关注 0票数 0

我试图避免使用c:forEach,因为我听说JSTL没有很好地融入JSF的呈现阶段.我一点也不确定那个说法。相反,在许多情况下,我不得不使用c:forEach代替ui:repeate,因为ui:repeate简单地不对集合进行迭代。在许多情况下发生了这种情况,我无法分离原因,在所有这些情况下,c:forEach是一个非常好的替代。我的问题是关于c:forEach行为不佳的一种情况,而ui:repeat不返回集合中的任何内容(尽管它重复了修饰的html标记正确的次数)。

有时,在c:forEach中创建的JSF组件会分散在整个页面上,在c:forEach的正文中留下装饰HTML标记,然后在页面的其他位置呈现。这种情况只发生过几次,特别是在使用F5进行刷新时(大多数情况下,使用Ctrl+F5进行后续刷新时都会修复这种情况)。

我完全不知所措,很想知道发生了什么事。为什么ui:repeat (和ice:panelSeries)不能从集合中取回值?为什么是c:因为每个散射都是内容遍布各地(在构建JSf组件树时似乎是一种竞赛条件)。也许呈现应该等待c:forEach,而它没有)?为什么只发生在这种情况下?

很抱歉,我没有包括任何代码片段或屏幕截图,因为我不知道应该包括什么。这个问题太笼统了。但你可以相信我的语法是正确的..。我已经查过了。我也不使用status变量(这会在ui中造成太多麻烦:重复)。

EN

回答 1

Stack Overflow用户

发布于 2010-08-23 12:29:23

ui:repeate只是不对集合进行迭代

以下代码起作用:

代码语言:javascript
代码运行次数:0
复制
<ui:repeat value="#{myCollection}" var="item">  
   <h:outputText value="#{item}" />
</ui:repeat>

为什么只发生在这种情况下?

如果没有this case的例子,就很难知道。

然而,c:forEach vs ui:重复文档可能会帮助您找到一个原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3547240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档