Action的代码 private SystemDataServcie systemDataService; public void setSystemDataService(SystemDataServcie systemDataService) {
this.systemDataService = systemDataService;
}
private Map application;
public void setApplication(Map Obj) {

}
public String SetSystemProtal(){
List<SystemDesploy> li=systemDataService.getSystemData();
System.out.print("==========================");
for(int i=0;i<li.size();i++){
if(li.get(i).getDesployName().equals("Dirty")){
String str=li.get(i).getDesployBody();
SetDirty(str);
}else if(li.get(i).getDesployName()==""){

}else{

}
}

return null;
}
/*获得所有的脏字,并且保存到application中去*/
public String SetDirty(String str){
List DirtyList=new ArrayList();
application=ActionContext.getContext().getApplication();
while(str.indexOf("|")!=-1){
DirtyList.add(str.substring(0,str.indexOf("|")));
str=str.substring(str.indexOf("|")+1,str.length());
}
ActionContext.getContext().getApplication().put("DirtyList", DirtyList);
//application.put("DirtyList", DirtyList);
return "success";
}Spring配置文件

<bean id="systemDataAction" class="com.onionProtal.until.Action.SystemDataAction" init-method="SetSystemProtal">
<property name="systemDataService" ref="systemDataService"></property>
</bean>
错误Caused by: java.lang.NullPointerException
at com.onionProtal.until.Action.SystemDataAction.SetDirty(SystemDataAction.java:41)
at com.onionProtal.until.Action.SystemDataAction.SetSystemProtal(SystemDataAction.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 36 more
这里只要写入application就出错谁帮我看下我在其他一个类中写application却没有错误我也不知道怎么回事?

解决方案 »

  1.   

    代码中没有日志,导致的结果就是出了问题不知道出在哪!空指针的问题是最好解决的,自己调试一下吧,我们也不知道 (SystemDataAction.java:41) 第 41 行是什么!
      

  2.   

    你的上下文是不是获得的时候已经是空了
     ActionContext.getContext().getApplication() 
    自己DEBUG看看 
    从ActionContext里面取东西会很慢 不知道你为什么会把数据存这里面
      

  3.   

    个人认为空指针还是比较容易解决的,debug一下,看是走到哪里报空的,哪个对象为空。
      

  4.   

    这种运行时error,用单步就可以搞定