完成和取消向导
我们现在知道了如何让向导前进和后退,如果希望中途从向导中退出,或在最后一步提交整个向导,应该如何去做呢?FullUserRegisterController提供了processCancel()和processFinish()方法,它们分别处理取消向导和提交整个向导的工作,现在最重要的问题是如何触发这两个操作?和前进后退的触发机制类似,向导控制器通过两个特殊的提交参数进行控制:当请求中包含“_cancel”参数时,调用processCancel()方法取消向导,当请求中包含“_finish”参数时,调用processFinish()完成向导。
按照上一步和下一步相似的方式,我们只需要将提交按钮命名为“_cancel”和“_finish”就可以完成取消和完成向导的操作了。来看一下favorite页面是如何做到这点的:
<form:form>
…
<input type="submit" name="_target1" value="上一步" />
<input type="submit" name="_finish" value="确 定" /> ①点击该提交按钮,完成向导
<input type="submit" name="_cancel" value="取 消" />②点击该提交按钮,取消向导
</form:form>
当点击“确定”按钮时,“_finish”被添加到请求参数列表中,FullUserRegisterController执行processFinish()方法,调用业务对象对FullUser进行业务操作,并导向到welcome页面中。当点击“取消”按钮时,“_cancel”被加入到请求参数列表中,processCancel()被调用,取消向导并导向到main页面中。
Spring MVC向导控制器
0
相关文章