我想迭代一个列表,该列表通过jsp
范围传递给我的request
。
这是我尝试过的代码:
<c:forEach items="${param.evaluateurs}" var="evaluateur">
<c:out value="${evaluateur.lastname}"></c:out> <c:out value="${evaluateur.fistname}"</c:out>
</c:forEach>
但是当我运行jsp
时,我只看到一个条目,所以我猜它没有迭代列表。
但是当我使用for loop
时,它可以工作:
<%
java.util.List<emaeval.statistic.doa.Users> evaluateurs =
(java.util.List<emaeval.statistic.doa.Users>) request.getAttribute("evaluateurs");
for(emaeval.statistic.doa.Users evaluateur : evaluateurs) {
%>
<%= evaluateur.getFirstname() %> <%= evaluateur.getLastname() %>
<% } %>
jstl方法有什么问题?
答案 0 :(得分:0)
jstl
param
相当于request.getParameter
。因为你必须从request
访问它,你必须像下面那样迭代
<c:forEach items="${evaluateurs}" var="evaluateur">
<c:out value="${evaluateur.lastname}"></c:out> <c:out value="${evaluateur.fistname}"</c:out>
</c:forEach>
答案 1 :(得分:0)
您的问题是 evaluateurs 不是作为请求参数发送的,而是请求属性到JSP。因此,您必须从正确的位置(不从参数地图)获取它。
而不是使用"${param.evaluateurs}"
而只使用"${evaluateurs}"
。