Spring Web MVC 高级功能与测试实践
1. 向导式表单控制器
在处理订单或注册流程时,往往需要多页表单来填充一个特定的领域对象,如个人信息、地址数据和支付信息等。Spring 提供了 org.springframework.web.servlet.mvc.AbstractWizardFormController
来支持这种向导式表单。
1.1 基本配置
向导控制器支持以下属性:
| 属性 | 描述 |
| ---- | ---- |
| pages
| 一个字符串数组,代表向导页面的逻辑视图名称。页面编号从 0 开始。 |
| allowDirtyBack
和 allowDirtyForward
| 默认情况下,若验证出错,控制器会阻止用户前往上一页或下一页。设置为 true
可忽略验证错误。默认值为 false
。 |
| pageAttribute
| 若设置该参数,控制器会将当前页面编号作为整数放入模型中。 |
由于向导控制器继承自 AbstractFormController
,所以 sessionForm
、 commandClass
、 commandName
和 bindOnNewForm
等参数也可使用。