我最近在做了一个人力管理系统,但在编写登陆时出错了。
数据库是oracle数据库。用applicationContext.xml文件连接数据库。/**
* 登录方法 登录后根据该用户的权限显示树
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward doLogin(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UsersForm usersForm = (UsersForm) form;// TODO Auto-generated method stub
Users user=this.usersBiz.login(usersForm.getUser().getName(), usersForm.getUser().getPassword());
if (user!=null)
{
List<String> quanxian=user.getQuanxian();
String ids=quanxian.toString();
ids=ids.substring(1,ids.length()-1);
List<Catalog> catalogs=this.catalogBiz.findByIds(ids);
String treeData=this.getTreeDataByList(catalogs);
request.getSession().setAttribute("treeData", treeData);
request.getSession().setAttribute("user", user);
return mapping.findForward("main");
}
else
{
return mapping.findForward("login");
}
}
错误提示:javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.jb.common.filter.LanguageFilter.doFilter(LanguageFilter.java:19)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
root cause java.lang.NullPointerException
com.hr.struts.action.UsersAction.getTreeDataByList(UsersAction.java:73)
com.hr.struts.action.UsersAction.doLogin(UsersAction.java:48)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.jb.common.filter.LanguageFilter.doFilter(LanguageFilter.java:19)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
数据库是oracle数据库。用applicationContext.xml文件连接数据库。/**
* 登录方法 登录后根据该用户的权限显示树
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward doLogin(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UsersForm usersForm = (UsersForm) form;// TODO Auto-generated method stub
Users user=this.usersBiz.login(usersForm.getUser().getName(), usersForm.getUser().getPassword());
if (user!=null)
{
List<String> quanxian=user.getQuanxian();
String ids=quanxian.toString();
ids=ids.substring(1,ids.length()-1);
List<Catalog> catalogs=this.catalogBiz.findByIds(ids);
String treeData=this.getTreeDataByList(catalogs);
request.getSession().setAttribute("treeData", treeData);
request.getSession().setAttribute("user", user);
return mapping.findForward("main");
}
else
{
return mapping.findForward("login");
}
}
错误提示:javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.jb.common.filter.LanguageFilter.doFilter(LanguageFilter.java:19)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
root cause java.lang.NullPointerException
com.hr.struts.action.UsersAction.getTreeDataByList(UsersAction.java:73)
com.hr.struts.action.UsersAction.doLogin(UsersAction.java:48)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.jb.common.filter.LanguageFilter.doFilter(LanguageFilter.java:19)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
/**
* 拼出mztreeview需要的字符串
* @param lst
* @return
*/
public String getTreeDataByList(List<Catalog> lst)
{
StringBuffer sb=new StringBuffer();
sb.append("var data={};");
sb.append("\n\t\t\t");
sb.append("data['-1_0']='text:HR系统功能树;';");
sb.append("\n\t\t\t");
for(Catalog cata : lst)
{
if(!cata.getCatalogUrl().equals(""))
{
sb.append("data['" + cata.getCatalogParent() + "_" + cata.getCatalogId() +"']='text:" + cata.getCatalogName() + "; url:" + cata.getCatalogUrl() + "; target:frmMain; checked:true;'");
sb.append("\n\t\t\t");
}
else
{
sb.append("data['" + cata.getCatalogParent() + "_" + cata.getCatalogId() +"']='text:" + cata.getCatalogName() + "; url:#';");
sb.append("\n\t\t\t");
}
}
return sb.toString();
}