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

Java JSTL:c:forEach是否保证JSP中的列表排序?,java,jsp,foreach,jstl,Java,Jsp,Foreach,Jstl,My JSP包含以下代码段: <c:forEach items="${rulesForm.rules}" var="rule" varStatus="counter"> <tr id="rules${counter.index}" name="rules[${counter.index}]"> “规则”本身是一个列表 当我从Spring MVC控制器传回我的model和view对象时,我可以看到我的列表的顺序是正确的 然而,当它在屏幕上呈现时,排序多

My JSP包含以下代码段:

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

“规则”本身是一个
列表

当我从Spring MVC控制器传回我的
model和view
对象时,我可以看到我的列表的顺序是正确的

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

我打赌在大多数实现中使用
迭代器,因此它依赖于底层的集合顺序。因此,如果您通过
列表
,顺序将被保留,这对于
设置
s是不正确的

尽管文件中没有说明:

items[…]要迭代的项的集合


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

迭代将取决于传递的
列表的类型。因此,您必须检查该类型的
列表的文档

是否有不保持顺序的列表?来自Javadoc:“一个有序的集合(也称为序列)”“看起来像一个JS和DOM问题”这个问题有什么解决方案吗?我也有点头疼