我正在尝试将一个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
我做错了什么?谢谢!
答案 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()