CommandController(命令控制器)
需要继承AbstractCommandController类,并重写handle方法
* 通过构造方法注册命令类和命令名称,如:
public MyCommandController(){
//注册命令类
this.setCommandClass(Person.class);
//命令名称
this.setCommandName("person");
}
测试:
结果:
FormController(表单控制器)
- 需要继承SimpleFormController类,并重写doSubmitAction方法
- 通过构造方法注册命令类和命令名称,如:
public MyFormController(){
this.setCommandClass(Person.class);
this.setCommandName(“person”);
} - 在spring配置文件中对表单控制器进行配置,如:
<!-- 表单控制器 -->
<bean id="myFormController" name="/form.action" class="cn.itcast.controller.MyFormController">
<property name="successView" value="success"/>
<property name="formView" value="personForm"/>
</bean>
测试:
提交:
后台:
WizardFormController(向导表单控制器)
- 需要继承AbstractWizardFormController类,并重写processFinish方法
*通过构造方法注册命令类和命令名称,如:
public MyWizardFormController(){
this.setCommandClass(Person.class);
this.setCommandName(“person”);
} - 在spring配置文件中对向导表单控制器进行配置,如:
<!-- 向导表单控制器 -->
<bean name="/wizard.action" id="myWizardFormControlle" class="cn.itcast.controller.MyWizardFormController">
<property name="pages">
<list>
<value>wizard/1</value>
<value>wizard/2</value>
<value>wizard/3</value>
</list>
</property>
</bean>
创建jsp文件
测试:
自动跳转到第一个页面
输入数据点击下一步
跳转到第二个页面
输入数据,点击上一步
数据可以回显。
再点击下一步
数据也是回显了
点击下一步
点击完成
后台显示:
说明,点击了最后的完成按钮才触发了该方法。