生活随笔
收集整理的這篇文章主要介紹了
jsp中获取不到后台请求域中的值
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
今天寫jsp頁面獲取后臺請求域中列表的值時獲取不到,百度大多數(shù)是說el表達式?jīng)]開啟的緣故,在jsp上面加<%@ page isELIgnored="false" %>就行,但是我的是不顯示值,并不是表達式的問題。后來發(fā)現(xiàn)是后臺頁面跳轉(zhuǎn)的問題。
下面是后臺代碼
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>狀態(tài)
</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>
可以看到這里用了重定向,重定向會重新發(fā)送請求,這就導致之前放在請求域中的數(shù)據(jù)就丟失了,所以頁面什么也不顯示。
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
);}
將頁面跳轉(zhuǎn)方式設(shè)為請求轉(zhuǎn)發(fā),頁面就正常顯示了。
總結(jié)
以上是生活随笔為你收集整理的jsp中获取不到后台请求域中的值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。