servlet 传递给某个页面一个集合,用request可以传递吗?request.setAttribute,

2025-01-24 21:15:32
推荐回答(3个)
回答1:

看你用什么方式传了,你要是用请求转发,也就是request.getRequestDispacher().forward(),JSP页面就可以用request.getAttribute()接收到。如果用重定向,也就是sendRedict(),那边是接受不到的。
关于第二个问题,得看你传的是什么,如果你setAttribute()的是一个List,就用(List)(request.getAttribute());
总得和你传进去的类型是一致的,如果你穿的是"helloword”,你想在那边转化成int类型肯定会出错的。这个和在JAVA中直接进行类型转化的原理是一样的。

回答2:

// Servlet
List users = new ArrayList();
// 添加你的数据内容 users.add();
request.setAttribute("users", users);
request.getRequestDispacher().forward(request, response); // 使用转发传递
// JSP一般用标签EL、OGNL取值,如果是Java代码的话
<%
List users = (User)request.getAttribute("users"); // 直接强转

%>

回答3:

(List)request.getAttribute("参数名"); 强制转换