The Spring MVC documentation just isn't quite there. It is pretty basic, and doesn't really help with some common medium difficulty scenarios. The one I am documenting today is how to take a typical model (with lists of dependent objects), show it in a form, and get the graph back upon submission...
Rather than go through the entire thought process from beginning to end, I am going to show the end state and then explain the major glue points that make everything work. The assumption is that you have an ok understanding of Spring MVC.
The model
Here's a simple model for the illustration. There is an object named Grid which has a list of Block objects..
public class Grid {
private List blocks =
LazyList.decorate(
new ArrayList(),
FactoryUtils.instantiateFactory(Block.class));
public List getBlocks() {
return blocks;
}
public void setBlocks(List list) {
blocks = list;
}
}
the LazyList class is the key here. This is in from the commons-collections package. I'll talk about why this is key later.
public class Block {
private String id, description;
public String getDescription() {
return description;
}
public String getId() {
return id;
}
public void setDescription(String string) {
description = string;
}
public void setId(String string) {
id = string;
}
}
分享到:
相关推荐
对于验证,Spring MVC提供了BindingResult和Validator接口,用于校验模型数据的正确性。 另外,Spring MVC与Spring框架的其他组件无缝集成,如Spring AOP(面向切面编程)用于实现日志、事务管理等功能,Spring ...
10. **Conversion and Validation**: Spring MVC提供了数据转换和验证功能,如使用`@RequestParam`、`@PathVariable`注解自动转换参数,以及使用`@Valid`和`BindingResult`进行表单验证。 11. **Tiles or Layouts**...
**Spring MVC 5.0.3 知识点详解** Spring MVC是Spring框架的一个核心模块,专注于构建Web应用程序。在Spring MVC 5.0.3版本中,它提供了丰富的功能和改进,使得开发者能够更高效地开发RESTful服务、处理HTTP请求、...
Spring MVC也支持将请求参数绑定到集合类型,如List、Set或Map。例如: ```java public String saveUsers(@RequestParam("names") List<String> names) { // ... } ``` 请求参数`names[]`的多个值会被自动...
Spring MVC 的设计目的是简化开发,提高可测试性,并与其他Spring框架无缝集成,如Spring Core、Spring Beans和Spring AOP。在这个"spring mvc demo"中,我们可以期待学习到关于如何设置和运行一个基本的Spring MVC...
**Spring MVC 框架详解** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)架构。Spring MVC 提供了灵活的处理机制,包括处理器映射、视图解析、数据绑定、本地...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。这篇博客“spring MVC配置,六步简单搞定”可能介绍了如何快速且有效地设置Spring MVC项目。下面...
10. **参数绑定(Parameter Binding)**:Spring MVC自动将请求参数绑定到控制器方法的参数上,支持基本类型和自定义类型的参数。 11. **数据验证(Data Validation)**:Spring MVC支持JSR-303/JSR-349数据验证...
10. **验证**:Spring MVC 结合 `Hibernate Validator` 提供了表单验证功能,可以使用 `@Valid` 和 `BindingResult` 进行校验。 11. **RESTful 风格**:通过 `@RestController` 注解和 HTTP 方法注解(`@GetMapping...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的重要组成部分,主要用于构建 MVC(Model-View-Controller)架构的 web 应用程序。本配套资料包含 SpringMvc 学习笔记与代码示例,是学习 ...
Spring MVC是目前流行的基于Java的企业级Web应用开发框架之一,是Spring框架的一个子项目。它遵循MVC(Model-View-Controller,模型-视图-控制器)设计模式,广泛应用于图形用户界面(GUI)的开发中,不仅限于Web...
7. **Validation**:Spring MVC提供验证机制,通过`@Valid`和`BindingResult`可以对模型对象进行校验。 8. **ExceptionHandler**:通过定义`@ExceptionHandler`方法,可以集中处理全局的异常,提高代码的可维护性。...
**Spring MVC 学习指南中文版** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)框架。本指南将深入探讨 Spring MVC 的核心概念、工作原理以及如何在实际项目中...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要负责处理 HTTP 请求和响应,实现模型-视图-控制器(MVC)的设计模式。在实际开发中,数据校验是必不可少的一个环节,用于确保...
**Spring MVC 框架详解** Spring MVC 是 Spring 框架的一个模块,它为构建基于 Java 的 Web 应用程序提供了一个模型-视图-控制器(MVC)架构。这个框架简化了从前端到后端的数据传递和处理流程,提高了开发效率。...
**Spring MVC 框架学习总结** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的轻量级、模型-视图-控制器(MVC)框架。Spring MVC 提供了优雅的编程模型和高度模块化的架构,使得开发者...
本章主要探讨的是如何在Spring MVC中实现对请求参数的有效性和正确性进行验证,确保应用的数据安全和业务流程的顺畅。以下将详细讲解各个知识点: 1. **简单数据类型绑定**: 在Spring MVC中,对于如int、String等...
通过这个简单的Spring MVC登陆示例,我们可以理解如何在Spring MVC框架下处理表单提交,以及如何利用控制器和视图进行数据展示。这只是一个基础的起点,实际的Web应用中,还需要考虑更多的功能和安全细节。