`

spring MVC之用表单控制器处理表单(二)

 
阅读更多

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 向导控制器完整的例子

    这是一个简单完整的Spring MVC向导控制器(AbstractWizardFormController)的例子,包含所需的类包,可以运行,也是我重新熟悉Spring 的第二例子,明天再上传Spring 的例外个例子,如有问题,我们可以互相学习下.

    [免费]Spring MVC学习指南(高清)

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    精通Spring MVC 4

    Web 应用、精通 MVC 结构、处理表单和复杂的 URL 映射、文件上传与错误处理、创建 RESTful 应用、保护应用、单元测试与验收测试、优化请求、将 Web 应用部署到云等内容, 循序渐进地讲解了 Spring MVC 4 的开发技巧...

    大优惠 Spring MVC学习指南(第2版)2017.pdf

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    Spring MVC.pptx

    详细的Spring MVC教程,内容包括控制器 重定向 保存并获取属性参数 拦截器 表单标签和验证表单 视图和视图解析器 上传文件 数据转换和格式化

    Spring MVC学习指南

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    Spring.MVC-A.Tutorial-Spring.MVC学习指南

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    使用Spring MVC表单标签_IT168文库.doc

    在低版本的Spring中,你必须通过JSTL或...不过这一情况已经一去不复返了,从Spring 2.0开始,Spring MVC开始全面支持表单标签,通过Spring MVC表单标签,我们可以很容易地将控制器相关的表单对象绑定到HTML表单元素中。

    spring mvc服务端表单验证实例

    spring mvc服务端表单验证实例 能跑起来看效果 lib齐全 希望对您的学习有帮助

    spring mvc标签使用指南

    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+hibernate+spring+easyui 简单 方便

    Spring MVC 3.0实战指南.ppt

    《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及解析器 7...

    Spring MVC 3.0 单表单 同时提交 不同对象到后台

    自定义 RequestBean 注解 及 WebArgumentResolver 完成如下格式表单提交 最简单的 是 新定义 一个 过渡对象 Objects 其包含 user group.....等 然后用如上 格式提交 最终 到后台 进行各取所需

    spring mvc深入总结

    spring mvc 深入总结,文章是转载拷贝而来,谢谢原作者!

    Spring.MVC-A.Tutorial-Spring.MVC学习指南.rar

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    Spring MVC3复杂表单终极解决办法

    NULL 博文链接:https://rochoc.iteye.com/blog/1486983

    layui 图片上传+表单提交+ Spring MVC的实例

    今天小编就为大家分享一篇layui 图片上传+表单提交+ Spring MVC的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    Spring MVC表单标签库

    使用SprignMVC标签处理表单实例

Global site tag (gtag.js) - Google Analytics