This question already has an answer here:
Get specific element in a list or array using EL
(1个答案)
5年前关闭。
这也许是一件相对简单的事情,但是由于某种原因,我似乎并没有正确地做到这一点。
如何基于索引从jSTL中的arrayList中获取元素。
在纯Java中,可以说我有这个arralist
如果我执行
在我提供的索引上恰好是
想知道如何在jSTL中实现。我在jSTL中使用了foreach标记,但并没有完全正确。
但是相反,您想打印整个元素,应该像这样循环
另外请注意,如果您像
(1个答案)
5年前关闭。
这也许是一件相对简单的事情,但是由于某种原因,我似乎并没有正确地做到这一点。
如何基于索引从jSTL中的arrayList中获取元素。
在纯Java中,可以说我有这个arralist
ArrayList< String > colors = new ArrayList< String >();
colors.add("red");
colors.add("orange");
colors.add("yellow");
colors.add("green");
colors.add("blue");
如果我执行
System.out.println(colors.get(1));
,我将从基于arrayList的第一种颜色在我提供的索引上恰好是
red
。想知道如何在jSTL中实现。我在jSTL中使用了foreach标记,但并没有完全正确。
<c:forEach items="colors" var="element">
<c:out value="${element.get(1)}"/>
</c:forEach>
最佳答案
当您说colors.get(1);
或${element[1]}
时,它实际上是指列表中的单个条目。但是,当您使用c:forEach
时,它会迭代循环。
这取决于您要实现的目标。如果只想第N个元素,请尝试
<c:out value="${colors[1]}"/> // This prints the second element of the list
但是相反,您想打印整个元素,应该像这样循环
<c:forEach items="${colors}" var="element">
<c:out value="${element}"/>
</c:forEach>
另外请注意,如果您像
<c:forEach items="colors" var="element">
一样编写,则将其字面值视为"colors"
。因此,如果它是一个变量名,则需要使用${}
之类的${colors}
进行命名,如上面的示例所示。关于java - 根据jSTL中的索引获取arraylist的元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24019845/
10-10 13:38