JSP页面显示bean的空值

时间:2013-12-04 19:11:46

标签: java jsp servlets

我正在创建一个bean实例并在1 jsp页面中设置它的值,并且在session属性中设置该bean之后,我试图使用jsp操作检索该bean的值。

在第一个jsp页面中,我使用new关键字创建Person的实例,然后在会话中将其设置为属性。

在第二页上,我尝试使用jsp:getProperty标签打印Person的名称。

第二页中的值为空。

第一页的代码如下

 <%
        String username=request.getParameter("username");
        String password=request.getParameter("password");

        if((username.equals("ravi") && password.equals("kumar")))
            {
                Person person = new Person();
                person.setName(username);
                session.setAttribute("username",person);

                response.sendRedirect("Home.jsp");
            }
        else
            response.sendRedirect("Error.jsp");
        %>

第二页的代码如下:

 <jsp:useBean id="person" class="com.ravi.entity.Person" scope="request"/>
 Person created by Servlet&nbsp;<jsp:getProperty name="person" property="name"/>

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

第一个JSP页面将人员存储在会话中。第二个JSP页面尝试从请求中获取它。这就是你得到null的原因:

<jsp:useBean id="person" class="com.ravi.entity.Person" scope="request"/>
                                You should have "session" here ---^

请注意,jsp:useBean和scriptlet不应该在JSP中使用超过十年。学习JSP代码的JSP EL,JSTL和用户servlet,或MVC框架。