• 欢迎访问web前端中文站,JavaScript,CSS3,HTML5,web前端demo
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏web前端中文站吧

CancellableFormController(取消表单控制器)

JAVA web前端中文站 2年前 (2017-07-20) 698次浏览 已收录 0个评论

CancellableFormController(取消表单控制器)继承 SimpleFormController,额外提供取消表单功能。

更多精彩内容请看 web 前端中文站
http://www.lisa33xiaoq.net 可按 Ctrl + D 进行收藏

  • 表单展示:和 SimpleFormController 一样;
  • 表单取消:和 SimpleFormController 一样;
  • 表单成功提交:取消功能处理方法为:onCancel(Object command),而且默认返回 cancelView 属性指定的逻辑视图名。

那如何判断是取消呢?如果请求中有参数名为“_cancel”的参数,则表示表单取消。也可以通过 cancelParamKey 来修改参数名(如“_cancel.x”等)。

CancellableFormController(取消表单控制器)

下面开始控制器部分代码。

复制 RegisterSimpleFormController 一份命名为 CanCancelRegisterSimpleFormController,添加取消功能处理方法实现:

 @Override   protected ModelAndView onCancel(Object command) throws Exception {       UserModel user = (UserModel) command;       //TODO 调用业务对象处理       System.out.println(user);       return super.onCancel(command);   } 
  • onCancel:在该功能方法内实现取消逻辑,父类的 onCancel 方法默认返回 cancelView 属性指定的逻辑视图名。

spring 配置文件代码:

 <bean name="/canCancelForm"    class="com.lisa33xiaoq.net.chapter4.web.controller.CanCancelRegisterSimpleFormController">           <property name="formView" value="register"/>           <property name="successView" value="redirect:/success"/>           <property name="cancelView" value="redirect:/cancel"/>   </bean>   <bean name="/cancel" class="com.lisa33xiaoq.net.chapter4.web.controller.CancelController"/>
  • cancelParamKey:用于判断是否是取消的请求参数名,默认是 _cancel,即如果请求参数数据中含有名字 _cancel 则表示是取消,将调用 onCancel 功能处理方法;
  • cancelView:表示取消时时显示的页面;“redirect:/cancel”表示成功处理后重定向到/cancel 控制器;防止表单重复提交;“/cancel” bean 的作用是显示取消页面,此处就不列举了(详见代码)。

视图页面(修改 register.jsp)代码:

 <input type="submit" name="_cancel" value="取消"/> 

该提交按钮的作用是取消,因为 name="_cancel",即请求后会有一个名字为 _cancel 的参数,因此会执行 onCancel 功能处理方法。

测试步骤:在浏览器输入“http://localhost:9080/springmvc-chapter4/canCancelForm”,则首先到展示视图页面,点击“取消按钮”将重定向到“http://localhost:9080/springmvc-chapter4/cancel”,说明取消成功了。

实际项目可能会出现比如一些网站的完善个人资料都是多个页面(即多步),那应该怎么实现呢?接下来让我们看一下 spring Web MVC 提供的对多步表单的支持类 AbstractWizardFormController。

【注:本文源自网络文章资源,由站长整理发布】


web 前端中文站 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:CancellableFormController(取消表单控制器)
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址