问答详情
源自:1-3 手工编写第一个Servlet

regUser哪里来的属性值

request.getSession().setAttribute("regUser", u);保存在session里的u实例传递到userinfo页面上,userinfo页面是如何接收的

 <jsp:useBean  id="regUser" class="entity.Users" scope="session"/>   

setAttribute("regUser", u)此regUser与 id="regUser" 应该没有什么关系吧?

userinfo页面只是创建了一个usebean的实例 regUser(我可以这样理解吗?),可是并没有对其属性进行赋值操作,u实例虽然传递过来也并没有赋值给regUser,regUser哪里来的属性值?


提问者:慕粉3914370 2017-01-09 23:06

个回答

  • dky
    2017-01-09 23:09:23
    已采纳

    request.getSession().setAttribute("regUser",u) 操作将对象u放到了session对象中,并将键取名为regUser

    <jsp:useBean  id="regUser" class="entity.Users" scope="session"/>  创建一个由class属性指定的类的实例,然后把它绑定到其名字由id属性给出的变量上,如果能够找到id和scope相同的Bean实例,jsp:useBean动作将使用已有的Bean实例而不是创建新的实例

    就是说从session对象中取出键名为regUser的对象u,因为id相同,所以实际上用的是同一个对象