直接通过Form Bean进行表单可以简化表单提交的处理,特别是对于复杂表单,过于简单的表单就不建议了,因为毕竟需要额外创建一个Form Bean。
前段时间项目中有一个比较复杂的表单,有多层次而且涉及数组,如果不采用Form Bean的处理方式会比较麻烦,但多层而且是数组,之前一直没有找到如何通过Form Bean方式进行处理,但相信Spring MVC应该可以做到,因为Spring的强大之处就是IOC嘛,所以在网上查阅资料,并不断尝试后终于解决,现在不管是多么复杂的表单均可以通过Form Bean的方式进行处理,大大简化复杂表单的处理。
解决方案就是采用Spring的注解@ModelAttribute, 这个注解相信大家都比较熟悉,因为Spring很多关于Form处理都有关于它的例子,但这些例子给出的表单都比较简单,而且采用了Spring的 Form标签,而我比较喜欢原始的JSP和HTML。闲话少说,现在正式开始我们的复杂Form处理,我的Form Bean结构如下:
FormBean的结构如下:
private String name;
private int age;
private String[] associate;
private ComBen[] bens; //另一个数组对像
ComBen的结构如下:
private String com;
private int[] typevalue;
private String[] typename;
private ThirdBen[] thdben;//再一层数组对像
ThirdBen的结构如下:
private String thdname;
private String value[];//又一层数组值
相信已经足够复杂了,我们只需要将FormBean在Controller中标识为@ModelAttribute,如下:
@RequestMapping(value=”/test/testForm.do”, method = RequestMethod.POST)
public String testFormBean(@ModelAttribute(“fbean”)FormBean ben) {
…
}
(
注意:@ModelAttribute中的标识名,这个要与jsp中的Form id相同)。
再看看我们的JSP页面中的Form如何编写(
form要给定一个id,这个id要与@ModelAttribute中的名称一致):
简洁吧,我们只要把上述form提交到Controller,就可以在Controller中直接得到这个复杂的FormBean对像;看完这个例子,相信大家可以处理任何的复杂表单了。
分享到:
相关推荐
java郑
7. **Form Handling**: Spring MVC 提供了强大的表单处理能力,包括自动数据绑定、数据校验等功能。通过@Valid可以进行数据验证,@RequestParam和@PathVariable用于获取请求参数。 8. **Interceptors**: 拦截器是...
Spring MVC 是一个强大的Java Web开发框架,用于构建可维护、高性能和灵活的Web应用程序。它遵循Model-View-Controller(MVC)设计模式,将业务逻辑、数据处理和用户界面分离,提高了代码的可测试性和可重用性。这篇...
- **组件扫描**:通过`<context:component-scan>`标签启用,指定需要扫描的包,以便Spring自动发现@Controller、@Service、@Repository等注解的类。 - **视图解析器**:如`<bean id="viewResolver" class="org....
适合练手、课程设计、毕业设计的Java项目源码:MVC(jsp+servlet+javaBean实现).rar 适合练手、课程设计、毕业设计的Java项目源码:MVC(jsp+servlet+javaBean实现).rar 适合练手、课程设计、毕业设计的Java项目...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。Spring MVC通过解耦应用程序的不同组件,使得开发、测试和维护变得更加简单。在这个实例中,...
Spring MVC 是一个轻量级的、基于Java的Web应用程序开发框架,它是Spring框架的一部分,主要用于构建Web应用的模型-视图-控制器(MVC)架构。Spring MVC的设计目标是简化开发,提高可测试性,并促进良好的编程实践。...
Java注解是Java编程语言中的一个重要特性,它们提供了一种元数据的方式,让开发者能够向编译器或运行时环境传递额外的信息。这些信息可以用来验证代码、自动生成代码、配置框架或者在运行时进行一些处理。注解的使用...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建Web应用程序提供了一种模型-视图-控制器(MVC)架构。Spring框架的核心组件之一,Spring MVC使得开发人员可以方便地处理HTTP请求,实现业务逻辑,并将结果...
《Spring MVC学习指南》是由Paul Deck编著的一本专业书籍,专注于讲解Spring MVC这一核心的Java Web开发框架。Spring MVC是Spring框架的一部分,用于构建高效、模块化且易于测试的Web应用程序。它提供了模型-视图-...
标题中的"wa-spring1-SpringProject.zip_spring mvc 例子"表明这是一个关于Spring MVC框架的实际应用示例项目。Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序,它提供了模型-视图-控制器(MVC)架构...
在Spring MVC中,我们可以通过`@ModelAttribute`注解来实现这个功能。当表单提交时,框架会尝试将请求参数与Bean的字段匹配并赋值。 2. **数据绑定API**: Spring MVC提供了DataBinder API,它允许开发者自定义...
**Spring MVC 3.0详解** Spring MVC是Spring框架的一部分,专为构建Web应用程序而设计。这个名为"Spring MVC 3.0.rar"的压缩包包含了一份关于Spring MVC 3.0版本的实战指南PPT,是Java开发者深入理解Spring MVC架构...
这些对象可以通过Spring的`@ModelAttribute`注解注入到控制器方法中,或者通过`Model`或`ModelAndView`对象传递给视图。 2. **视图(View)**:视图负责将模型数据呈现给用户。Spring MVC支持多种视图技术,如JSP、...
Spring MVC利用Spring的DI特性,通过@Autowired注解自动将依赖注入到需要的对象中,降低了组件间的耦合度,提高了代码的可测试性。 4. **HandlerMapping与HandlerAdapter**: HandlerMapping负责根据请求URL找到...
《网上书城 Spring-MVC》项目是基于Spring-MVC框架构建的一个典型电子商务平台,它展示了如何使用Spring-MVC来实现高效、灵活的Web应用程序开发。Spring-MVC是Spring框架的一部分,专门用于处理Web层的业务,提供了...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的Web应用程序提供了强大的支持。Eclipse是一款广泛使用的集成开发环境(IDE),对于Java开发,包括Spring MVC项目,Eclipse 提供了...
Spring MVC 是 Spring 框架的一个重要组成部分,用于构建 Web 应用程序。Spring MVC 提供了一种模型-视图-控制器(Model-View-Controller)架构,帮助开发者有效地分离业务逻辑、数据处理和用户界面。这个教程将深入...
Spring MVC提供数据绑定功能,自动将请求参数绑定到Controller方法的参数上。同时,可以使用JSR-303/JSR-349进行数据验证。 8. **拦截器(Interceptor)**: 拦截器可以用来执行全局的操作,比如权限验证、日志...