是否可以拥有一个包含一个对象(在本例中为一个ArrayList)的servlet,该servlet相当于显示一个jsp页面并将该对象传递给jsp页面。在这种情况下,ArrayList包含我想要迭代的数据库结果,并在JSP页面上显示结果。
我没有使用任何MVC框架,是否可以使用基本的Servlet / JSP架构来实现这一点。
答案 0 :(得分:10)
是
request.setAttribute("result", yourArrayList);
中的然后转发到jsp:
getServletContext().getRequestDispatcher("your.jsp")
.forward(request, response);
在jsp:
中使用JSTL<c:forEach items="${result}" var="item">
...
</c:forEach>
如果您不想使用JSTL(但我建议使用它),那么您也可以在JSP中使用request.getAttribute("result")
获取值。
或者,但不推荐,如果您想要request.getSession().setAttribute(..)
而不是redirect()
,则可以使用forward()
。
答案 1 :(得分:2)
您可以通过将对象嵌入到请求中来将对象传递给jsp。
request.setAttribute("object", object);
并在jsp中:
request.getAttribute("object");
答案 2 :(得分:2)
你可以使用request.setAttribute(“myobj”,myObj)来放置它;见javadoc
答案 3 :(得分:2)
如果您尝试制作某种“组件”,那么最好将JSP页面转换为自定义标记。以下是关于此的优秀文章:http://onjava.com/pub/a/onjava/2004/05/12/jsp2part4.html