用Spring MVC来处理向导式复杂表单

引子

我们在网上经常会碰到一些向导式的表单页面,比如 第一步 >> 第二步 >> 第三步…、基本信息 >> 联系方式 >> 兴趣爱好…。它们都是按类型分到多个有序的页面要你来完成填写的。当然,你也可以把它们全部罗列在一个页面里,那样用户就会感觉茫茫然,分不清主次,可能不会很好的予以配合。

然而像 Struts、WebWork 那样的 MVC 框架未提供类似的实现,都需自己采用某种方式来实现向导,可以用层的隐现方式,或逐步把填写的部分数据放 Session 中,最后汇总处理。幸运的是 Spring MVC 考虑到了这种应用需求,它提供了一个 org.springframework.web.servlet.mvc.AbstractWizardFormController 来满足你。

下面我们来参照 CSDN 的简历向导(界面如下) 来自己动手做个例子

详细的步骤如下(如何创建 Spring MVC 工程在此不细说,本例中用的是 Spring 2.0,其他版本的 Spring 原理无甚差异,只是 Spring 2.0 开始有很方便使用的 form 标签,而在 Spring 1.0 中要用 spring:bind 和 jstl 结合显示数据着实显得很寒碜,由此可见 Spring 1 的 MVC 还太不成熟)。本页中列出的代码有些非关键之处省去了,文后附上了本例完整的工程文件,可下载。

时间: 2024-11-03 20:05:35

用Spring MVC来处理向导式复杂表单的相关文章

Spring MVC中基于自定义Editor的表单数据处理技巧分享_java

面向对象的编程方式极大地方便了程序员在管理数据上所花费的精力.在基于Spring MVC的Web开发过程当中,可以通过对象映射的方式来管理表单提交上来的数据,而不用去一个一个地从request中提取出来.另外,这一功能还支持基本数据类型的映射.例如in.long.float等等.这样我们就能从传统单一的String类型中解脱出来.然而,应用是灵活的.我们对数据的需求是千变万化的.有些时候我们需要对表单的数据进行兼容处理. 例如日期格式的兼容: 中国的日期标注习惯采用yyyy-MM-dd格式,欧美

spring mvc 事务,操作多张表的时候,异常不回滚,求大神帮忙啊

问题描述 spring mvc 事务,操作多张表的时候,异常不回滚,求大神帮忙啊 @Override @Transactional(rollbackFor=Exception.class) public Boolean saveXkcq(String qian,String xh, Xk_cqb cqb, Rw_xkb rwXkb, Xk_xkb xkb) { Boolean type = false; try { if(qian!=null && qian.length()>0){

ASP.NET MVC框架(第四部分) 处理表单编辑和提交场景

这个系列的第一篇建造了一个简单的电子商务产品列表/浏览网站.它讨论了MVC后面的高层次的概念,示范了如何从头创建一个新的 ASP.NET MVC项目,实现和测试这个电子商务产品列表功能.系列的第二篇对ASP.NET MVC框架的URL路径选择(routing)架构做了深入探讨, 讨论了它的工作原理以及你如何使用它来处理更高级的URL路径选择场景. 第三篇讨论了控制器是如何与视图做交互的,特别地讨论了你可以 把视图数据从控制器传给视图以显示返回到客户端的回复的各种方法. 在今天的帖子里,我将讨论你

[转自Scott]ASP.NET MVC框架(第四部分): 处理表单编辑和提交场景

英文原文地址:http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-mvc-framework-part-4-handling-form-edit-and-post-scenarios.aspx 翻译原文地址:http://blog.joycode.com/scottgu/archive/2007/12/10/112465.aspx 过去的几个星期内,我一直在写着讨论我们正在开发的新ASP.NET MVC框架的系列贴子.ASP.NET

寻找可用于 ASP.NET MVC 项目 的“工作流”,支持表单和流程设计就行。可快速开发。

问题描述 现在在做一个ASP.NETMVC的项目.有"工作流"这块,以前没涉及到过工作流,现在要做.本想自己学习工作流,再做.但项目时间紧,现在在寻找可用于ASP.NETMVC项目的成熟的"工作流",支持表单和流程设计就行.可快速开发.方便集成到现在的项目中.自己目前查看了"路德工作流",是一个单独的"工作流"系统.个人使用免费,商用的话需要授权,而且我仔细看过代码.不好集成到想在的项目中.还有CCFlow.也挺好的,但整个系

Spring MVC向导控制器

概述 假设某一个系统在用户注册模块中需要区别一般用户和高级用户,一般用户只要提供最简单的信息,通过一个小表单就可以搞掂了.但对于需要注册为高级用户的客户来说,论坛希望他们提供详细的注册信息,除了用户名.密码.Email这些最简单的信息外,还需要提供住址.电话以及兴趣爱好之类的调查信息.通过一张大表单让注册者一次性填写所有这些信息并不是一个好主意,大部分潜在的用户当看到这样面目狰狞的"超级表单"后都会毫不犹豫的放弃注册.这时通过一个向导式的表单让用户分步填写注册信息将是明智的方案,虽然需

Spring MVC数据校验与国际化

1. JSR-303 JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,官方参考实现是Hibernate Validator. 此实现与Hibernate ORM 没有任何关系.JSR 303 用于对Java Bean 中的字段的值进行验证. Spring MVC 3.x之中也大力支持 JSR-303,可以在控制器中对表单提交的数据方便地验证. JSR 303内置的约束规则: @AssertTrue / @AssertFalse 验证适用字段:boolea

Spring MVC 详解

第一章 Web MVC简介Web MVC简介 1.1.Web开发中的请求-响应模型:   在Web世界里,具体步骤如下: 1.  Web浏览器(如IE)发起请求,如访问http://sishuok.com 2.  Web服务器(如Tomcat)接收请求,处理请求(比如用户新增,则将把用户保存一下),最后产生响应(一般为html). 3.web服务器处理完成后,返回内容给web客户端(一般就是我们的浏览器),客户端对接收的内容进行处理(如web浏览器将会对接收到的html内容进行渲染以展示给客户)

Spring MVC 专题

  Spring静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户直接读取.在Springboot中默认的静态资源路径有:classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,从这里可以看出这里的静态资源路径都是在classpath中(也就是在项目路径下指定的这几个文件夹) 试想这样一种情况:一个网站有文件上传文件的功能,如果被上传的文件放在上述的那些