如何使用jsp正确地为java-beans赋值

时间:2016-02-14 20:39:40

标签: java jsp

这是我正在使用的jsp标签

<jsp:useBean id="user" scope="request" class="business.Bean">
    <p>Name is <jsp:getProperty name="user" property="name"/></p><br>
    <p>Surname is <jsp:getProperty name="user" property="surname"/></p><br>
</jsp:useBean>

这就是我从servlet request.getSession().setAttribute("user", new Bean("MyName", "MySurname"));设置bean的方法 。这个设置在我使用 el 时有效,但是当我在这里使用它时,我有一个双重输出“Empty”,这是bean的默认空构造函数,我应该如何使用它在这里工作?

1 个答案:

答案 0 :(得分:1)

当你使用class属性时,你准确地创建了该类的一个新实例,并且你把它作为范围请求,这就是为什么你的bean带有两个空属性,但这不是你想要做的,你想要检索您使用request.getSession().setAttribute("user", new Bean("MyName", "MySurname"));

在请求范围中设置的bean

所以您应该使用type属性

更改class属性
<jsp:useBean id="user" scope="session" type="business.Bean">
</jsp:useBean>
<p>Name is <jsp:getProperty name="user" property="name"/></p><br>
<p>Surname is <jsp:getProperty name="user" property="surname"/></p><br>