Servlet将arraylist作为请求属性发送到JSP

时间:2014-03-15 04:06:13

标签: java jsp servlets

我正在尝试将一个ArrayList从servlet发送到JSP页面。在Servlet中:

List<ItemObj> myList = new ArrayList<ItemObj>();   
req.setAttribute("list", myList);
req.getRequestDispatcher("page.jsp").forward(req,resp);

在JSP中:

<% List<ItemObj> myList = (ArrayList<ItemObj>) request.getParameter("list"); %>

但是,我一直收到错误:无法从String转换为List。我找到的消息来源表明我可以这样投射:

how to send ArrayList from jsp to servlet

Send array of objects from servlet to JSP

我做错了什么?谢谢!

4 个答案:

答案 0 :(得分:1)

而不是request.getParameter使用

<% List<ItemObj> myList = (ArrayList<ItemObj>) request.getAttribute("list"); %>

request.getParameter用于检索表单参数。

答案 1 :(得分:1)

您将list设置为请求属性并将其作为请求参数

返回

使用<% List<ItemObj> myList = (ArrayList<ItemObj>) request.getAttribute("list"); %>

答案 2 :(得分:1)

Sotirious是现货。你需要调用getAttribute。

但除此之外,您应该了解属性的范围: 它的范围是(i)页面,(ii)请求,(iii)会话,或(iv)申请?

我不知道默认范围,但你可能想要研究一下。

答案 3 :(得分:0)

您需要request.getAttribute()而不是request.getParameter()