SSH做登录成功,但拿不到当前用户名???
这个是action用户登录的方法:
Java code
public ActionForward index(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
UserForm userForm=(UserForm)form;
TblUser user=biz.getLogin(userForm.getUser());
String gotoPage="";
if(user!=null){
request.getSession().setAttribute("user",user);
gotoPage="index";
}else{
request.setAttribute("message","对不起!您输入的密码有误!");
gotoPage="login";
}
return mapping.findForward(gotoPage);
}
这就是登录成功后显示的页面取值部分:
Java code
<marquee direction="left">
<em> 管理员:${user.userName} 您好,感谢登陆后台管理系统</em>
</marquee>
求高手们看看,有没有问题啊,就是拿不到值。打断点user里面都有值,但就是拿不出来。谢谢了。。。。
------解决方案--------------------session要用sessionScope.user.userName吧
------解决方案--------------------${sessionScope.user.userName}
------解决方案--------------------EL表达式是默认从page范围开始找的
------解决方案--------------------设置struts配置文件中对应action的属性: scope="session"
------解决方案--------------------request.setAttribute("user",user);
------解决方案--------------------lz既然说后台打印能得到user的值,但页面上又不显示,可能是你的web配置文件的 service的版本太低,像你用${}拿值的话,必须是版本2.4或以上的,像<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">这个版本是2.4的可以拿值,不知道lz是不是这个问题
------解决方案--------------------
------解决方案--------------------lz你存到session看看,我上面是从session拿值,你存入request,说不定你重定向了才没值,或者配置文件搞成重定向
------解决方案--------------------marquee direction="left">
<%
TblUser user = (TblUser)request.getSession().getAttribute("user") ;
%>
<%=user.toString()%> <!--看看有没有结果?-->
<em> 管理员:${user.userName} 您好,感谢登陆后台管理系统</em>
</marquee>
------解决方案--------------------
------解决方案--------------------代码没问题 我怀疑你的页面支持EL表达式吗,
------解决方案--------------------Java code
public ActionForward index(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
UserForm userForm=(UserForm)form;
[color=#FF0000]System.out.println(userForm.getUserName());[/color]
//试试输出的是什么
TblUser user=biz.getLogin(userForm.getUser());
String gotoPage="";
if(user!=null){
request.getSession().setAttribute("user",user);
gotoPage="index";
}else{
request.setAttribute("message","对不起!您输入的密码有误!");
gotoPage="login";
}
return mapping.findForward(gotoPage);
}