我们爱分享----struts2的get和set方法

KingViker KingViker 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
虽然很久没弄过java了 ,(没办法 需求访谈了半年了还没结束,一直用ext开发demo,悲剧中...)但是看见这个活动就想顶一下,所以想起来以前见过的一些问题,就再这里写写了,今天说说struts2的get和set的问题.因为我很久没开发java了 所以现在不方便贴测试代码(因为没有o(╯□╰)o).
以前做项目的时候我有一个同事在一个action类里定义了一个get开头的方法,这个方法是action的默认方法调用的,但是他在测试的时候这个方法老是先执行,也就是说还没调用就自己执行了 ,因为自己执行一些参数没有传进来,所以就报错了,怎么测试也不对,也没发现问题.他就纠结了,来找我了. 我看了一下,调试了一下发现这个方法是在浏览器发出action请求之后,struts2的servlet拦截到aciton请求,然后在初始化这个action类的时候就执行了,换言之,也就是说和类属性的get、set方法一起执行了,他执行的之后参数没有有效的传进来 就报错了,我当时就纳闷了 怎么会没调用就其他类属性方法一起之执行了那?我在没查看源代码的时候就有一个猜测就是,struts2的实现原理可能就是在初始化action类之后就会调用已get和set开头的所有方法,我后来验证了一下自己的想法,果然是这样。由于工作原因不能带大家看代码了,很久没用struts2了不知道他们源代码改了没。以后大家如果遇到这样子的问题可以尝试给方法改个名字,特别是开头的几个字改改可能就不报错了。顺便提一嘴问一句,我ext的经验能发上来吗。ext搞半年了 是半年全天一直搞ext 我快疯了!当然收获也很丰富!
...全文

相关推荐

评论 41
收藏 已收藏
分享
返回顶部
KingViker
Java EE 67,535 成员 225,843 内容