这个问题已经问了很长一段时间,不知道楼主解决了没,我这边提供解决方法。但深层次的原因我也说不出来。
遇到这个问题,我猜应该是楼主使用了Srping的org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator代理去创建action造成的。好像由于是jdk创建的什么代理啊,我也不是很清楚。
解决办法是加上“targetSource.target”。更具体些就是:比如jsp上的表单需要往action的formBean中的userid传值,不使用代理可以这样写“formBean.userid”,用了代理要写出“targetSource.target.formBean.userid”。还有一个值得注意的是,Struts2 的xml配置里如果要用到action中的属性,比如action跳转action,需要给action传值,代理前的写法直接是<result type="XXXX">b.action?arg1=${属性}</result>。用了代理后要写成<result type="XXXX">b.action?arg1=${targetSource.target.属性}</result>------------------------------------分割-----------------------------------------------
虽然这样能解决问题,但是我想,写这么长一串东西,是个人都觉得麻烦,我也不知道有没有别的办法来解决这个问题。正在研究......知道的朋友可以指点一下。ps:已经在你另外一个帖子里回复相同的了。后天就要过年,还在公司的程序猿飘过。