struts2 关于对象模型的原理 求高手解答
1
页面连接:BaseFieldChekAction_toShowCheckAccept.shtml
Action:
? private CheckAccept checkAccept;//为checkAccept设置了set,get方法
public String toShowCheckAccept(){
? checkAccept.getHurdle();//hurdle是其一个字段 (**1)
}
return null;
}
这样的情况下 为什么 运行到(**1)处,报
空指针异常!
2
页面连接:BaseFieldChekAction_toShowCheckAccept.shtml ?checkAccept.inuse=0
? Action 同样的代码 就不报错了。inuse也是其一个字段。
求解释!!!!!!!
1那里对象为什么是空?!
------解决方案--------------------private CheckAccept checkAccept ---这个只是个CheckAccept 类型的变量 初始为NULL
页面链接 BaseFieldChekAction_toShowCheckAccept.shtml --直接进toShowCheckAccept这个方法
所以checkAccept.get...必须
空指针异常
页面链接BaseFieldChekAction_toShowCheckAccept.shtml ?checkAccept.inuse=0
STRUTS2会根据checkAccept.inuse这个参数对指定ACTION类中的checkAccept?
checkAccept = new CheckAccept();
checkAccept.inuse=0;
创建CheckAccept这个对象并赋值属性inuse=0
------解决方案-------------------- private CheckAccept checkAccept; 这里只是声明了一个对象 并没有为其赋值
当BaseFieldChekAction_toShowCheckAccept.shtml ?checkAccept.inuse=0 时 ?
就会创建对象 并赋予对应属性的值
------解决方案--------------------Struts2根据AOP实现的IOC
------解决方案--------------------楼主如果有时间 感兴趣 可以 看看源码 收获会很多的