1、字段驱动,需要一个数据成员,以及一个get方法,继承action即可,如下:
User user= new User();
页面表单的形式:
Username:<ww:property value="user.username"/><br>
相应的配置文件:
<action name="register" class="example.register.RegisterAction" >
<result name="success" type="dispatcher">
<param name="location">/register-result.jsp</param>
</result>
<interceptor-ref name="params"/> //特殊的标签,表示这个action用到的截拦器,它将在excute方法执行之前调用,作用是将表单的数据设置到action的模型中去。原理如下面的蓝色语句
</action>
2、模型驱动,需要一个数据成员,以及一个由Model-Driven接口继承来的方法,而且还需要在配置文件中添加一个过滤器,
private User user = new User();
页面表单的形式:
Username:<input type="text" name="username"><br>
上面两种形式都可以实现表单数据的自动提交,并且我们可以直接拿来使用user对象!
相应的配置文件:
<action name="registerModel" class="example.register.RegisterActionModel">
<result name="success" type="dispatcher">
<param name="location">/register-result-model.jsp</param>
</result>
<interceptor-ref name="model-driven"/> //作用就是将模型对象保存到值堆栈中
<interceptor-ref name="params"/>
</action>
public Object getModel() {
return user;
}
public User getUser(){
return this.user;
}