jsp中获取不到后台请求域中的值

今天写jsp页面获取后台请求域中列表的值时获取不到,百度大多数是说el表达式没开启的缘故,在jsp上面加<%@ page isELIgnored="false" %>就行,但是我的是不显示值,并不是表达式的问题。后来发现是后台页面跳转的问题。
下面是后台代码

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        List<User> userList = new ArrayList<User>();
        User user1 = new User(1,"admin","正常");
        User user2 = new User(2,"zhangsan","正常");
        User user3 = new User(3,"lisi","不可用");
        userList.add(user1);
        userList.add(user2);
        userList.add(user3);
        req.setAttribute("list",userList);
        resp.sendRedirect("javaweb_02_maven_war_exploded/userList.jsp\n");
    }
<%@ page import="java.util.List" %>
<%@ page import="com.zh.bean.User" %>
<%@ page isELIgnored="false" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
   List<User> userList = (List<User>) pageContext.getAttribute("list");
%>
<%=
    userList
%>
<table>
    <tr>
        <th>用户ID</th>
        <th>用户名</th>
        <th>状态</th>
        <th>操作</th>
    </tr>
    <c:forEach var="user" items="${requestScope.list}">
        <tr>
            <th>${user.id}</th>
            <th>${user.name}</th>
            <th>${user.status}</th>
            <th><button>修改</button>|<button>删除</button></th>
        </tr>
    </c:forEach>

</table>
</body>
</html>

在这里插入图片描述
可以看到这里用了重定向,重定向会重新发送请求,这就导致之前放在请求域中的数据就丢失了,所以页面什么也不显示。

   protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        List<User> userList = new ArrayList<User>();
        User user1 = new User(1,"admin","正常");
        User user2 = new User(2,"zhangsan","正常");
        User user3 = new User(3,"lisi","不可用");
        userList.add(user1);
        userList.add(user2);
        userList.add(user3);
        req.setAttribute("list",userList);
        req.getRequestDispatcher("/userList.jsp").forward(req,resp);
    }

将页面跳转方式设为请求转发,页面就正常显示了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值