gpt4 book ai didi

java - JSTL:c:forEach 是否保证 JSP 中的列表排序?

转载 作者:行者123 更新时间:2023-12-04 06:01:38 25 4
gpt4 key购买 nike

我的 JSP 包含以下代码段:

<c:forEach items="${rulesForm.rules}" var="rule" varStatus="counter">
<tr id="rules${counter.index}" name="rules[${counter.index}]">

“规则”本身就是一个 List<Rule> .

当我通过我的 ModelAndView从我的 Spring MVC Controller 返回对象,我可以看到我的 List 的顺序正确。

然而,当它在屏幕上呈现时,排序有点随机。我也有对 DOM 执行一些修改的 JavaScript,但我没有看到这会进行任何重新排序。
因此,我想知道是否 c:forEach是罪魁祸首吗?

最佳答案

我打赌 <c:forEach/> 使用 Iterator在大多数实现中,因此它依赖于底层收集顺序。因此,如果您通过 List , 顺序将被保留,这对于 Set 不成立。 s。

虽然文档没有说明:

items [...] Collection of items to iterate over.



想一想 - 如果不保留有序集合的顺序,则任何服务器端的结果排序都没有意义。

关于java - JSTL:c:forEach 是否保证 JSP 中的列表排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8839668/

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