框架:SSH
   页面调用Action中的方法  public String findFileExist()
       {
         ScheduleAction scheduleAction=new ScheduleAction();
        HttpServletRequest request =ServletActionContext.getRequest();
        String scheduleName =request.getParameter("scheduleName");
       String   scheduleGuid=request.getParameter("scheduleGuid");  
            try {
           String fileSaveAddredd= "D:\\"+scheduleGuid+".xml";
            if (scheduleXml.findFileEsixts(fileSaveAddredd))  // 文件存在
            {
           scheduleAction.addMaskSchedule(scheduleGuid);
            
             
            }
            else      //文件不存在
            {
             scheduleAction.createScheduleHead(scheduleGuid, scheduleName);   //添加头部信息
              scheduleAction.addMaskSchedule(scheduleGuid);
              XMLWriter output =new XMLWriter(new FileWriter(fileSaveAddredd));
             output.write(document);
             output.close();
             
            }
          
          
} catch (IOException e) {
e.printStackTrace();
}

return "haveSchedure";
   
       }
      scheduleAction.addMaskSchedule(scheduleGuid);进入这个方法,调用这个  
scheduleService.add_schedureMask(schedule_mask)保存方法报空指针导常。
这个方法是hibernate的一个保存方法,spring 全都注入了,而且 schedule_mask  这个里面全都有值。
是不是在struts2 中不可以这样调用。。

解决方案 »

  1.   

     简单的来说就是 struts2 action 调用一个方法 ,方法中再调用一个方法,被调用的方法,中有一个保存
      方法,保存方法报空。
      求解答。。
      

  2.   

     肯定的是保存方法没错,里面全都有值。如果 struts2 action 调用一个方法,方法中调用保存
      方法那就没有错,但是这样做,不能满足我的需求。
      

  3.   

    用Debug看看
    是哪行报的错
      

  4.   

    把addMaskSchedule()方法放上来看看
      

  5.   


    你的scheduleAction 中的 scheduleService对象应该是为null,你可以调试一下看就知道了!
    因为你的scheduleAction 实例,在此处是你自己直接new出来的,所以你所谓的spring注入什么的都是浮云,对它不起做用的,所以该实例中所有的属性都只能是默认的值,那其中的scheduleService当然就有可能是null了咯!而且基本上也没有这样使用的习惯吧,因为action都是属于view层的东西,我不明白你为何要通过一个action来调用另一个action达到保存数据的操作,而不直接在当前action中调用你的service层来实现呢?
    另外针对你的代码提个小建议:
             String scheduleName =request.getParameter("scheduleName"); 
    这行代码最好移到你的else块中,因为只有这个里面要用到(如果我没有看错的话),放在大块外面是浪费,如果文件存在那这个变量就是多余的!