请问Hql里面的 (User)list.get(0)返回的是一个对象还是什么? 15
publicUserlogin(Useruser){Stringhql="fromUserwhereuserName='"+user.getUserName()+"'an...
public User login(User user) {
String hql = "from User where userName='"+user.getUserName()+"' and password='"+user.getPassword()+"'";
List list = factory.getCurrentSession().createQuery(hql).list();
return (User) list.get(0);
}
然后我在action类里面用session传给useinfo,这样应该没错吧?
public String login(){
Map session = ServletActionContext.getContext().getSession();
session.put("userinfo",userService.login(user) );
return SUCCESS;
}
但是我Struts2 里面用 下面代码就无效了,请问我哪里出错了吗?struts2 版本是2.1.8
<s:if test="#session.userinfo==null">登陆失败</s:if>
<s:else>
<s:iterator value="#session.userinfo" id="us" >
你好:<s:property value="us.userName"/>,欢迎登陆!
</s:iterator></s:else> 展开
String hql = "from User where userName='"+user.getUserName()+"' and password='"+user.getPassword()+"'";
List list = factory.getCurrentSession().createQuery(hql).list();
return (User) list.get(0);
}
然后我在action类里面用session传给useinfo,这样应该没错吧?
public String login(){
Map session = ServletActionContext.getContext().getSession();
session.put("userinfo",userService.login(user) );
return SUCCESS;
}
但是我Struts2 里面用 下面代码就无效了,请问我哪里出错了吗?struts2 版本是2.1.8
<s:if test="#session.userinfo==null">登陆失败</s:if>
<s:else>
<s:iterator value="#session.userinfo" id="us" >
你好:<s:property value="us.userName"/>,欢迎登陆!
</s:iterator></s:else> 展开
3个回答
展开全部
返回的是对象 list这个集合里的第一个User对象
如果list查询出来结果是空的话,你这个会报错
应该这样
return list!=null&&list.size()>0?(User) list.get(0):null;
如果list查询出来结果是空的话,你这个会报错
应该这样
return list!=null&&list.size()>0?(User) list.get(0):null;
追问
然后我在action类里面用session传给useinfo,这样应该没错吧?
public String login(){
Map session = ServletActionContext.getContext().getSession();
session.put("userinfo",userService.login(user) );
return SUCCESS;
}
追答
嗯,你这是用户登录吧,那就应该这么做,记录session
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询