后台如何将List传到前台——Session方法
Servlet类
package servlet;
import entity.User;
import service.Impl.UserServiceImpl;
import service.UserService;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
/**
* @Author shall潇
* @Date 2021/3/9
* @Description
*/
public class UserServlet extends HttpServlet {
UserService service = new UserServiceImpl();
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
if("query".equals(req.getParameter("type"))){ //这里考虑到会有很多请求,所以具体实现放在service方法外部
query(req,resp);
}
}
void query(HttpServletRequest req, HttpServletResponse resp){ //方法具体实现
ArrayList<User> users = service.queryAllA(); //这里从后台传上来的List
req.getSession().setAttribute("user",users); //通过Session将数据传递到前台
try {
resp.sendRedirect("/login/querySuccess.jsp");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Web层
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>查询成功页面</title>
</head>
<body>
<%--第一种显示方法--%>
<%--<table>--%>
<%--<%--%>
<%--Object user = session.getAttribute("user");--%>
<%--if(null!=user && user instanceof ArrayList){--%>
<%--ArrayList<User> userList = (ArrayList) user;--%>
<%--for (User user1 : userList) {--%>
<%--%>--%>
<%--<tr>--%>
<%--<td><%=user1.getUser_id()%></td>--%>
<%--<td><%=user1.getUser_name()%></td>--%>
<%--<td><%=user1.getPassword()%></td>--%>
<%--</tr>--%>
<%--<%--%>
<%--}--%>
<%--}--%>
<%--%>--%>
<%--</table>--%>
<%--第二种显示方法--%>
<%
Object user = session.getAttribute("user"); //这里在接收后台传来的List,并展示
if(null!=user && user instanceof ArrayList) {
ArrayList<User> userList = (ArrayList) user;
for (User user1 : userList) {
out.println(user1);
}
}
%>
</body>
</html>