我正在使用struts2和hibernate创建一个简单的登录示例。为此,我使用@SessionTarget注释创建一个会话变量。但是当我尝试使用这个会话变量时,我得到空指针异常。
@SessionTarget
Session session;
public void userLogin(String userName, String password) {
try {
String hql = "select user_privilege from user_details log where log.userName=:userName and log.password=:passw";
Query query = session.createQuery(hql); // From here I am getting exception
query.setParameter("userName", userName);
query.setParameter("password", passw);
List result = query.list();
Iterator iterator = result.iterator();
while(iterator.hasNext()){
userId = (int) iterator.next();
}
} catch (HibernateException e) {
} finally {
//session.close();
}
}
struts.xml中
<package name="default" extends="hibernate-default">
<action name="fillvacancy" method="execute" class="com.templateproject.action.FillVacancyAction">
<result name="success">/vacancy/fillvacancy.jsp</result>
<result name="input">/vacancy/userhome.jsp</result>
</action>
</package>
我之前已经问过这个问题。并从此链接中找到了一个答案Struts + Hibernate: @SessionTarget not working。
但是这个解决方案并没有解决我的问题。
我该如何解决这个问题?