gpt4 book ai didi

java - c :forEach vs ui:repeat (a. k.a 冰:面板系列)

转载 作者:行者123 更新时间:2023-12-01 16:02:15 24 4
gpt4 key购买 nike

我试图避免使用 c:forEach 因为我听说 JSTL 不能很好地融入 JSF 的渲染阶段...我根本不确定这个说法。相反,在很多情况下,我不得不求助于使用 c:forEach 而不是 ui:repeat,因为 ui:repeate 根本不会迭代集合。在很多情况下,我无法找出原因,并且在所有情况下都会发生这种情况。这些情况下,c:forEach 是一个表现良好的替代品。我的问题是关于一种情况,其中 c:forEach 表现不佳,并且 ui:repeat 没有从集合中返回任何内容(即使它重复装饰 html 标签正确的次数)。

有时,在 c:forEach 中创建的 JSF 组件会分散在整个页面中,从而使 c:forEach 正文中的装饰 HTML 标记为空,并在页面中的其他位置呈现。这种情况仅在某些时候发生,特别是在使用 F5 进行刷新时(大多数情况下,通过使用 Ctrl+F5 进行后续刷新即可修复)。

我完全感到困惑,并且希望了解有关正在发生的事情的任何想法。为什么 ui:repeat (和ice:panelSeries)没有从集合中取回值?为什么 c:forEach 散射的内容到处都是(看起来像是构建 JSf 组件树时的竞争条件..也许渲染应该等待 c:forEach 但它没有)?为什么只有在这种情况下才会出现这种情况?

很抱歉,我没有包含任何代码片段或屏幕截图,因为我不知道要包含什么..问题太笼统了。但你可以完全相信我的语法是正确的......我已经检查过......并且我不使用状态变量(这会在 ui:repeat 中造成太多麻烦)。

最佳答案

ui:repeate simply does NOT iterate onthe collection

以下代码有效:

<ui:repeat value="#{myCollection}" var="item">  
<h:outputText value="#{item}" />
</ui:repeat>

Why did it happen only in this case??

如果没有此案例的示例,很难知道..

但是,c:forEach vs ui:repeat document可以帮助您找到原因。

关于java - c :forEach vs ui:repeat (a. k.a 冰:面板系列),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3547240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com