日期:2014-05-19  浏览次数:20658 次

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
------解决方案--------------------
楼主如果有时间 感兴趣 可以 看看源码 收获会很多的