这是我正在使用的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的默认空构造函数,我应该如何使用它在这里工作?
答案 0 :(得分:1)
当你使用class属性时,你准确地创建了该类的一个新实例,并且你把它作为范围请求,这就是为什么你的bean带有两个空属性,但这不是你想要做的,你想要检索您使用request.getSession().setAttribute("user", new Bean("MyName", "MySurname"));
所以您应该使用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>