action登陆时有这么一堆代码如下
把登陆的信息放到session中。
Userinfo u=null;
u=this.iuser.login(user.getUserId(),user.getUserPwd());
if(u!=null){
List<Userinfo> list=this.iuser.findAllUsers();
Map request = (Map)ActionContext.getContext().get("request");
Map session=(Map)ActionContext.getContext().get("session");
session.put("user",u);
if(list!=null){
request.put("list",list);
return SUCCESS;
}
}
return INPUT;然后再jsp页面获取session的值
 <s:textfield name="userId" value="${session.user.userId}" label="用户名"/>怎么获取不到用户名的值啊!有谁帮我看看啊!非常感谢。

解决方案 »

  1.   

    user信息一定非要放到这个所谓的session里面么?
      

  2.   

    #session.user.userId 用这种写法试试
      

  3.   

    lz,用个Param试试行吗?还有就是你先别用EL表达式看看能不能取到,我感觉value的定义就有点小问题。
      

  4.   

    你直接在页面写java代码试试看,可以取到吗?
      

  5.   

    你这样写是会抛异常的,因为Struts2的标签中不允许出现EL表达式
    Struts2标签默认的是Ognl表达式,即 #session.user.userId
      

  6.   

    request.getSession().getAttribute("user")
      

  7.   

    <s:property value="request.getSession().getAttribute("user")"/>
      

  8.   

    HttpSession session=request.getSession();
     <s:textfield name="userId" value="${session.user.userId}" label="用户名"/>
      

  9.   

    struts2  的标签要这样写<s:textfield name="userId" value="#session.user.userId" label="用户名"/>