用struts,某一个用户已登录,我要在几个页面上用到该用户的一些信息比如姓名,怎样做呢,是不是要访问数据库?

来源:互联网 发布:js实现div层慢慢隐藏 编辑:程序博客网 时间:2024/05/16 14:28

Q:用struts,某一个用户已登录,我要在几个页面上用到该用户的一些信息比如姓名,怎样做呢,是不是要访问数据库? “但我还要该用户的其他信息,比如年龄等”

A:系统中你应该有个业务对象来描述用户吧,比如定义一个类 User,类里面有成员变量:名字,性别,年龄等等。登录的时候等到这个对象然后放session里。把登录的用户名在session里。然后以后的页面,你要什么信息,你根据着这个session里的用户名去获取它的相对应的信息。

A:session.setAttribute("object",对象);
你用这个对性去取你的所需要的东西呀,因为你在对象里面封装好这个对象的所有的属性,只要在object.对应的属性名就可以啦.

A:public Users getUserByUsername(String username)
    {
        tx
=session.beginTransaction();
        Query query
=session.createQuery("from Users where username=:username");
        query.setString(
"username",username);
        Users user
=(Users)(query.list()).get(0);
        tx.commit();
        HibernateSessionFactory.closeSession();
       
return user;
    }
A:

    action类中(以年龄为例)
int age = ……;//通过连接数据库的代码获取年龄
HttpSession session=request.getSession();
session.setAttribute("nianling", age);

jsp页面中
<%
String age = session.getAttribute("nianling");
%>
将取到的值放到相应的位置就好了!