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

Ank*_*kur 8 java model-view-controller jsp servlets

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

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

Boz*_*zho 10

是.

  1. 在servlet调用中 request.setAttribute("result", yourArrayList);
  2. 然后转发到jsp:

    getServletContext().getRequestDispatcher("your.jsp")
        .forward(request, response);
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在jsp中使用JSTL:

    <c:forEach items="${result}" var="item">
      ...
    </c:forEach>
    
    Run Code Online (Sandbox Code Playgroud)

如果您不想使用JSTL(但我建议使用它),那么您也可以request.getAttribute("result")在JSP中使用值.

或者,但不推荐,request.getSession().setAttribute(..)如果您愿意,可以使用,redirect()而不是forward().