使用Annocation替代Struts2中的Getter和Setter方法[初版]
在使用Struts2中,经常会向Action类中写入很多的private对像,并生成Getter和Setter方法,以便Struts2能注入对像.所有在我们写struts2的时候就会产生了很多
get****和set***的方法.通常这些方法只是单纯的getter和setter,在我们的代码中就多了很多这些"多余"的代码了,有什么好的办法能解决呢?
所以我给出了一个解决方案就是使用Annocation的形式替换这些getter,setter方法.
目的就是为了让Action中不用再写setter和getter.现在给出使用Struts2-GetterAndSetter-plugin的代码前和代码后的显示结果
使用Struts2-GetterAndSetter-plugin前的代码:
或
实现原理分析:
此plugin主要是通过struts2的interceptor,然后读取action中的GetterAndSetter annocation.然后通过ognl和反射向action注入值,当action提交的时候就把所有的提交值注入到指定的对像中.当action完成以后,把action的值写入request和valuestack中
写得不好请见谅 32 楼 kaowww153 2010-10-23 没多大必要 33 楼 nothink 2010-10-23 可以学习一下 ,不错 34 楼 joliny 2010-10-27 最终还是把值塞进了request,其实我还是希望可以在编译的过程中自动给class文件添加set,get方法的。 35 楼 zjiaohuang 2010-11-12 如果只是get和set方法,建议使用lombok.jar,这个提供了get和set的元注释,和其他一些常用,可以将java页面无用的代码省去,在生产的class文件中自动生产 36 楼 harbey 2010-11-12 注释还需要去反射一次,直接写get/set不就得了