spring MVC之用表单控制器处理表单(二)
----------
接上一篇
应用post/redirect/get设计模式
然而,在表单提交后的成功视图中刷新网页时,刚刚提交的表单会再提交一次。这个问题被称作重复表单提交。为了避免这个问题,可以应用post/redirect/get设计模式,它建议在成功地提交一个表单之后,要重定向到另一个URL,而不是直接返回一个HTML页面。如例:
首先,用ParameterizableViewController定义一个只呈现reservationSuccess视图的控制器,它被映射到reservationSuccess.jsp。
<bean id="reservationSuccessController"
class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="reservationSuccess"/.
</bean>
由于ControllerClassNameHandlerMapping不会为内置的Spring MVC控制器产生映射,因此需要显式地在SimpleUrlHandlerMapping中为这个控制器定义一个映射。
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
...
<property name="mappings">
<props>
...
<prop key="/reservationSuccess.htm">
reservationSuccessController
</prop>
</props>
</property>
</bean>
由于你在web应用程序上下文中配置了ResourceBundleViewResolver,因此可以在classpath根部的
views.properties中定义如下的重定向视图。
reservationSuccessRedirect.(class)=org.springframework.web.servlet.view.RedirectView
reservationSuccessRedirect.url=reservationSuccess.htm
最后,将ReservationFormController的成功视图指定为该重定向的视图。现在,当表单提交成功时,用户会被重定向到另一个URL,即使用户刷新了这个页面,也不会导致重复提交表单的问题。
<bean id="reservationFormController"
class="com.apress.springrecipes.court.web.ReservationFormController">
<property name="reservationService" ref="reservationService"/>
<property name="formView" value="reservationForm"/>
<property name="successView" value="reservationSuccessRedirect"/>
</bean>
分享到:
相关推荐
这是一个简单完整的Spring MVC向导控制器(AbstractWizardFormController)的例子,包含所需的类包,可以运行,也是我重新熟悉Spring 的第二例子,明天再上传Spring 的例外个例子,如有问题,我们可以互相学习下.
全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...
Web 应用、精通 MVC 结构、处理表单和复杂的 URL 映射、文件上传与错误处理、创建 RESTful 应用、保护应用、单元测试与验收测试、优化请求、将 Web 应用部署到云等内容, 循序渐进地讲解了 Spring MVC 4 的开发技巧...
全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...
详细的Spring MVC教程,内容包括控制器 重定向 保存并获取属性参数 拦截器 表单标签和验证表单 视图和视图解析器 上传文件 数据转换和格式化
全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...
全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...
在低版本的Spring中,你必须通过JSTL或...不过这一情况已经一去不复返了,从Spring 2.0开始,Spring MVC开始全面支持表单标签,通过Spring MVC表单标签,我们可以很容易地将控制器相关的表单对象绑定到HTML表单元素中。
spring mvc服务端表单验证实例 能跑起来看效果 lib齐全 希望对您的学习有帮助
13.9. 使用Spring的表单标签库 1 13.9.1. 配置 1 13.9.2. form标签 1 13.9.3. input标签 3 13.9.4. checkbox标签 3 13.9.5. checkboxes标签 6 13.9.6. radiobutton标签 6 13.9.7. radiobuttons标签 7 13.9.8. ...
注册表单spring MVC+hibernate+spring+easyui 简单 方便
《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及解析器 7...
自定义 RequestBean 注解 及 WebArgumentResolver 完成如下格式表单提交 最简单的 是 新定义 一个 过渡对象 Objects 其包含 user group.....等 然后用如上 格式提交 最终 到后台 进行各取所需
spring mvc 深入总结,文章是转载拷贝而来,谢谢原作者!
全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...
NULL 博文链接:https://rochoc.iteye.com/blog/1486983
今天小编就为大家分享一篇layui 图片上传+表单提交+ Spring MVC的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
使用SprignMVC标签处理表单实例