请问jsp使用foreach循环list
请教jsp使用foreach循环list
请教下,jsp里面使用foreach循环list,能不能获取list里面上一条数据或者下一条数据?

------解决思路----------------------
如果引用了struts2的话,你可以使用OGNL表达式,来代替EL表达式,这样就可以使用list的get()方法,然后用status.index-1或+1的方式去获取了。本人没去测试,但是以前好像这样做过。
------解决思路----------------------
jstl没有提供直接根据下标取值的方法,建议直接用java脚本取(如果有这个需求的话),以下是用jstl取的例子(不建议用),可以参考
请教下,jsp里面使用foreach循环list,能不能获取list里面上一条数据或者下一条数据?
------解决思路----------------------
如果引用了struts2的话,你可以使用OGNL表达式,来代替EL表达式,这样就可以使用list的get()方法,然后用status.index-1或+1的方式去获取了。本人没去测试,但是以前好像这样做过。
------解决思路----------------------
jstl没有提供直接根据下标取值的方法,建议直接用java脚本取(如果有这个需求的话),以下是用jstl取的例子(不建议用),可以参考
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page language="java" import="java.util.List" %>
<%@page language="java" import="java.util.ArrayList" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<%
List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
request.setAttribute("myList",list);
%>
</head>
<body>
<c:forEach items="${myList}" var ="myObj" varStatus="status">
当前:${myObj},
<c:choose>
<c:when test="${!status.first&&!status.last}">
<c:forEach items="${myList}" var ="myObj1" begin="${status.index-1}" end="${status.index-1}" >
前一条:${myObj1},
</c:forEach>
<c:forEach items="${myList}" var ="myObj2" begin="${status.index+1}" end="${status.index+1}" >
后一条:${myObj2}
</c:forEach>
<br>
</c:when>
<c:when test="${status.first}">
<c:forEach items="${myList}" var ="myObj3" begin="${status.index+1}" end="${status.index+1}" >
后一条:${myObj3}
</c:forEach>
<br>
</c:when>
<c:when test="${status.last}">
<c:forEach items="${myList}" var ="myObj4" begin="${status.index-1}" end="${status.index-1}" >
前一条:${myObj4}
</c:forEach>
<br>
</c:when>
<c:otherwise>
出现异常<br>
</c:otherwise>
</c:choose>
</c:forEach>
</body>
</html>