Struts2在初始化Action的时候会先向值栈中压入一个action对象,里面包含了各个属性,这些属性是怎么被压进去的?或者说是根据什么来压入的?直到2016年5月5日才理解,原来是在初始化action的时候,根据antion中定义的getter方法来向值栈中压属性的,而单纯的在action中定义的属性,但没有定义getter方法的属性并不会被压入到值栈中,例如,有一个Action叫做UserAction:
class UserAction{ private String name; private String password; public String execute(){ return "success"; } public String getName(){ return name; } }
在UserAction中定义了两个字符串类型的变量,但是只定义了name属性的getter方法,所以在值栈中将只会有name属性,而不会有password属性!