我一直以为在struts中,Action里的getter()方法是没用的,昨天发现并非如此。(此处的struts是2.0以上的版本)
当时,我在Action里定义了一个private变量,在前台给该Action传了两个参数,想struts帮我把那private变量实例化。没错struts帮我把该变量实力化,但是只接收了传过来的一个参数,而且是传过来的第一个参数被用于实例化,而另一个参数并没有出现在该变量的属性里。我折腾了好久都不知道问题出在哪,后来去检查了下Action,看到要初始化的那个变量是private修饰的,而且没有为该变量写getter(),struts怎样得到改变呢(这是第一时间的想法,即使对也不会全对,因为解释不了以上全部问题,在此不展开说了)?于是我为该private修饰的变量写上了getter()方法,问题解决了。
问题解决了,但是对struts的实现很好奇,等有时间去看看struts源代码,就知道其中原理了。