将值从Servlet传递给JSP

时间:2013-11-12 23:58:42

标签: jsp

我是JSP的新手,并且有一些关于将值从Servlet传递到呈现的JSP页面的问题。

目前,我从表中获取一个actor列表,并在请求对象中创建一个新属性,并在我的JSP页面中访问该对象。

有没有其他方法可以将值从servlet传递给JSP?

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Im in actorsservlet");
        Actors acrs = new Actors();
        ArrayList<Actor> actorslist = null;
        try {
            actorslist = acrs.getactors();
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        for (Actor ac:actorslist)
            System.out.println(ac.firstname);
        request.setAttribute("actorslist", actorslist);
        RequestDispatcher dispatcher = request.getRequestDispatcher("getactors.jsp");
        //response.sendRedirect("getactors.jsp");
        dispatcher.forward(request, response);
        return;

1 个答案:

答案 0 :(得分:0)

您可以将属性添加到会话而不是请求。所以,让我们看看我是否记得correctly

session.setAttribute("actorslist", actorslist);

注意事项:这将允许您从Web应用程序中的任何jsp访问它。但是会话变量可能很棘手。您可以查看here以获取访问JSP中不同范围的EL示例。

它可能看起来像:

${sessionScope.actorslist}    //<- the whole list
${sessionScope.actorslist[0]} //<- this first actor in the list
祝你好运。快乐的编码。