封装请求参数的方式:
1、用动作类作为模型对象,直接封装请求参数
注:静态参数注入是由一个名字为staticParams拦截器完成的。
注:动态参数注入是由一个名字为params拦截器完成的。
2、动作类和模型对象分离
private student;
...
public Student getStudent(){
return student;
}
...
总结:框架会探测student这个模型是否为空,如果为空,注入他的实例,分别调用该对象的属性,注入值。
3. (模型和动作分开)模型驱动:ModelDriven
注:实际上是一个名字为modelDriven拦截器完成的。该拦截器会在调用动作方法前,调用getModel(),得到模型对象,他接着把该模型对象压到了值栈的栈顶。表单的username的值,框架就会调用栈顶对象的setUsername方法。