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;
}