Action中获取Request的参数
这个过程是strut2自动完成的,当提供一个表单时,表单参数放在HttpRequest的Parameter列表里,当Action并调用时,
struts框架会根据Action的setter自动对Action的成员变量赋值。
例如:
form提交的url为
htp://localhost/login.jsp?username=john
则HttpRequest中有一个Pair:
"username" = "john"
在Action被调用之前,struts框架会检查其setter函数, 如果发现有一个名字叫 setUsername的函数,则调用时。
struts框架还会检查该函数的参数类型,如果setter需要接收一个整型,则自动转换一个整数传入。
private String username;
public void setUsername(String s)
{
this.username = s;
}
【注】
(1) 理论上,匹配只与函数名称有关,无论成员变量叫什么名字,是没有影响的。匹配成员后,调用该成员函数对Action进行初始化赋值。
例如,在上例中,可以声明成员变量为
private String user_name;
private String userName;
都是没有影响的。
(2) 实际操作中,getter/setter由MyEclipse自动生成,生成的规则就是把变量名的第一个字母改成大写。所以,为方便起见,对变量命名规范
化,会减少很多麻烦。
例如: username -> getUsername() , setUserName()
userName -> getUserName() , setUserName()