public class CreateUserAction extends ActionSupport { private static final long serialVersionUID = 1L; HttpServletRequest request ;
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}

@Override
public String execute() throws Exception { System.out.println("-----CreateUserAction-----");

SysUserPOJO sysUserPOJO = (SysUserPOJO) request.getSession()
.getAttribute("INITCONF");//这行报错

String dir = this.getClass().getProtectionDomain().getCodeSource()
.getLocation().getPath();
String currdir = StringUtils.substring(dir, 0, StringUtils.indexOf(dir,
"WEB-INF"))
+ "page" + File.separator + "strutsData";
new InitSysDAO().createUser(sysUserPOJO);
int result = new InitSysDAO().impDBDate(currdir, sysUserPOJO);
ServletContext app = request.getSession().getServletContext();
app.setAttribute("ISBASESYSINIT", null);
if (result == 1) {
return "success";
} return "DBerror";
}}严重: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
at com.asideal.action.sysInit.CreateUserAction.execute(CreateUserAction.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)==================================
这是另一个类的 session.set...    private HttpSession session;。
}else{

System.out.println("创建表空间......");
initSysDAO.createDataSpace(getsysUser(request));
session.setAttribute("INITCONF",sysUserPOJO);
}
struts2里的session出错。

解决方案 »

  1.   

    SysUserPOJO sysUserPOJO = (SysUserPOJO) request.getSession()
    .getAttribute("INITCONF");这句是struts1里的,struts2里这样可以么~
      

  2.   

    request.getSession().getAttribute("INITCONF");
    这个得到的是个集合!你用 SysUserPOJO 类接收错了吧!先把集合遍历出来 在用 SysUserPOJO 接收!
      

  3.   

    SysUserPOJO sysUserPOJO = (SysUserPOJO) request.getSession()不对吧,session类型不对吧。
    struts2的session对象
    这样写试试:
    HttpSession session=ServletActionContext.getRequest().getSession()
      

  4.   

    HttpServletRequest request ;
        public HttpServletRequest getRequest() {
            return request;
        }
        public void setRequest(HttpServletRequest request) {
            this.request = request;
        }
    这样注入HttpServletRequest request,request当然==null 所以报空指针了!
    4楼正解
      

  5.   

    public HttpServletRequest getRequest()
    {
    return ServletActionContext.getRequest();
    }
      

  6.   

    关于struts2获取session跟往里面存值我的方法是:
    往session里放值ActionContext.getContext().getSession().put("name",value);
    往session里取值ActionContext.getContext().getSession().get("name");
      

  7.   

    HttpServletRequest request ;
        public HttpServletRequest getRequest() {
            return request;
        }
    request没有赋值吧