楼主是用spring 管理struts吧,那么你的struts结合spring的插件配了吗(在struts-config的<plug-in>标签里),否则tbuserdao不一定注入成功,而且LoginAction要有一个TbUserSpringDAO tbuserdao的全局变量,还有它的get 和set方法,
另外你的程序写的有问题楼上说的是其中一个,还有就是
String hql = "from TbUser as tu where tu.vcUserName = : username and tu.vcPassWord = : password";
Query query = session.createQuery(hql);
hql中的username和password只是占位符,你还要在query下面加上
query.setParameter("username",你的用户名 );
query.setParameter("password",你的用户名);
即
String hql = "from TbUser as tu where tu.vcUserName = : username and tu.vcPassWord = : password";
Query query = session.createQuery(hql);
query.setParameter("username",你的用户名 );
query.setParameter("password",你的用户名);
List tbuser = (List) query.list();
return (TbUser)tbuser.get(0);
——————————————————————————————
其它都可以?只能说这个很诡异。。
TbUser tbuser = (TbUser) query.list();
这个地方不能这么写啊,query.list(); 返回的是个list数组,要用list接收,你可以这样写
list ls = query.list();
TbUser tbuser =(TbUser) ls.get(0);
return tbuser;
这样返回的才是TbUser对象
修改:String hql = "from TbUser as tu where tu.vcUserName = : username and tu.vcPassWord = : password"添加上select * 试试,再不行发过来我给你调试一下
你要getsession干什么呢?直接super.gethibernatetmplate.xxx方法进行增删改查操作就行了。。。。。
query.setParameter("username",username );
query.setParameter("password",password);
List ls = query.list();
if (ls.size()>0)
return (TbUser) ls.get(0);
else reutrn null;
会不会是你的sessionFactory配置错了?
还有你报空指针的是哪行代码?
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....