如何将信息从servlet传递到JSP页面

时间:2010-02-14 14:37:04

标签: java model-view-controller jsp servlets

是否可以拥有一个包含一个对象(在本例中为一个ArrayList)的servlet,该servlet相当于显示一个jsp页面并将该对象传递给jsp页面。在这种情况下,ArrayList包含我想要迭代的数据库结果,并在JSP页面上显示结果。

我没有使用任何MVC框架,是否可以使用基本的Servlet / JSP架构来实现这一点。

4 个答案:

答案 0 :(得分:10)

    servlet call request.setAttribute("result", yourArrayList); 中的
  1. 然后转发到jsp:

    getServletContext().getRequestDispatcher("your.jsp")
        .forward(request, response);
    
  2. 在jsp:

    中使用JSTL
    <c:forEach items="${result}" var="item">
      ...
    </c:forEach>
    
  3. 如果您不想使用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