首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

SSH做登录成功,但拿不到当前用户名?解决方案

2012-01-05 
SSH做登录成功,但拿不到当前用户名???这个是action用户登录的方法:Java code public ActionForward index(

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是不是这个问题
[解决办法]
探讨
}else{
request.setAttribute("message","对不起!您输入的密码有误!");
gotoPage="login";
}
return mapping.findForward(gotoPage);
只要是值,都拿不到。就像这个message在页面也拿不到,它那个消息框也只显示“message”没有别的内容。哎,真不知道是什么情况,什么值都拿不……

[解决办法]
lz你存到session看看,我上面是从session拿值,你存入request,说不定你重定向了才没值,或者配置文件搞成重定向
[解决办法]
marquee direction="left">
<%
TblUser user = (TblUser)request.getSession().getAttribute("user") ;
%>
<%=user.toString()%> <!--看看有没有结果?-->
<em> 管理员:${user.userName} 您好,感谢登陆后台管理系统</em>
</marquee>


[解决办法]
探讨
把值存入reuqest,在后台用request能拿出来,但是在前台页面拿不出来啊?现在的问题是后台有数据
前台就是怎么也拿不出来,就是我刚才说的,连message里面的都拿不出来,哎。。。。。。。。。。。。。。求解。。。。。。。。。。

[解决办法]
代码没问题 我怀疑你的页面支持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);       } 

热点排行