java - 尝试通过JSP访问servlet中创建的bean

标签 java jsp servlets

我正在尝试从 JSP 访问我在 servlet 中创建的 bean。 在我的 servlet BlogController.java 中,我像这样实例化 bean

    BlogList bloglist = new BlogList();
    if (bloglist.getSize()<1) {
        bloglist.addDummies();
        //Now the size of the bloglist is 10
    }

然后,仍然在这个 servlet 中我调用 jsp,如下

RequestDispatcher rd = request.getRequestDispatcher("/Blog7.jsp");
rd.forward(request, response);

在 JSP 内部我尝试使用像这样的 bean

<jsp:useBean id="bloglist" type="ub7.BlogList" scope="session"/>

但是这里bloglist的大小是0,为什么?

最佳答案

您必须将 bean 添加到 servlet 本身的 session 中:

在 servlet 中

HttpSession session = request.getSession();
session.setAttribute("bloglist", bloglist);
RequestDispatcher rd = request.getRequestDispatcher("/Blog7.jsp");
rd.forward(request, response);

在jsp中

Blog List count: ${sessionScope.bloglist.size()}

关于java - 尝试通过JSP访问servlet中创建的bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24304026/

相关文章:

java - true 算术正常工作, false 未显示正确的输出

java - 就 griffon 1.2 的功能而言,javafx 与 swing 相比如何?

java - android studio 需要很多时间来打开项目?

java - HTTP 500 java.lang.RunTimeException 找不到 FacesContext

java - HTML 按钮事件和选定的复选框

java - 我需要在此数组中找到作为局部最小值的值,但我遇到了 arrayindexoutofbounds 异常。我怎样才能解决这个问题?

html - 一个表格,两个按钮?

java - 如何仅使用 servlet 和 jdbc 创建事务处理?

java - 实现 HttpSessionListener

java - HttpServletRequest 对象的字段会延迟截断。为什么?