原文链接:http://rowkey.me/blog/2015/01/21/springm-mvc-model-attribute-alias/
最近由于项目需要,发现spring mvc在绑定参数时有这么一个缺陷。
Url: http://localhost:8080/api/test?user_name=testUser
Controller:
@Controller @RequestMapping("/api") public class ApiController extends BaseController { @RequestMapping(value = "/test", headers = "Accept=application/json") public void authUser(ModelMap modelMap, Account acc) { ResultPack.packOk(modelMap); } } public class Account{ private static final long serialVersionUID = 750752375611621980L; private long id; private String userName; private String password; private AccountType type = AccountType.ADMIN; private long timeTag; private int status = 1; ... ... }
user_name无法映射到acc的userName上。如果使用json的方式,可以使用JsonProperty注解来解决。否则,spring貌似没提供解决方案。
于是追踪了一下spring mvc的源代码,发现可以通过重写ServletModelAttributeMethodProcessor来支持这个功能。
github: https://github.com/superhj1987/spring-mvc-model-attribute-alias
相关推荐
, 在精通Spring MVC4中,我们将会从头开始构建一个有用的Web应用。本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、...
5.Spring MVC @ModelAttribute 注解案例 6.Spring MVC 国际化案例 7.Spring MVC 请求转发与请求重定向案例 8.Spring MVC 下载 Excel 文档的需求案例 9.Spring MVC RESTful 风格的请求方式案例 10.Spring + Spring ...
- **DAO层**:Spring MVC中的Service层通常调用DAO层完成数据访问,DAO层使用Hibernate进行具体操作。 在`hibernate3.6.8.chm`文件中,可能包含了Hibernate 3.6.8的官方文档,对于深入理解Hibernate的工作原理和...
此外,Spring MVC还能够与其他Spring模块(如Spring Security、Spring WebSocket等)无缝集成,提供完整的解决方案。 总之,“Spring MVC - A Tutorial”这份指南会详细讲解Spring MVC的各个核心组件和使用技巧,...
错误处理和异常处理也是Spring MVC中的重要部分,通过@ControllerAdvice和@ExceptionHandler可以全局处理异常,提供统一的错误页面。 最后,测试是任何应用程序开发的重要环节。Spring MVC提供了MockMVC,可以在不...
总的来说,`@ModelAttribute`是Spring MVC中处理HTTP请求数据和业务对象之间映射的关键工具,它使得开发者能够更便捷地进行数据绑定,提升了Web应用的开发效率。在实际开发中,熟练掌握`@ModelAttribute`的使用,...
在Spring MVC中,开发者可以通过@Autowired注解自动装配依赖,使得代码更易于测试和维护。 此外,Spring MVC还提供了数据绑定和验证功能。表单提交的数据可以直接绑定到控制器方法的参数上,通过@ModelAttribute...
在Spring MVC中,Controller处理用户的请求,Model存储数据,而View负责渲染结果。 创建Spring MVC项目的第一步通常是设置开发环境。这通常包括安装Java Development Kit (JDK)、配置IDE(如IntelliJ IDEA或Eclipse...
十三、如何给Spring3 MVC中的Action做JUnit单元测试:说明了如何对Spring MVC中的控制器进行单元测试,包括配置测试环境和编写测试代码。 十四、Spring MVC转发与重定向:详细讲解了在Spring MVC中如何使用转发和...
在"Spring MVC 4.2.3"版本中,我们看到了一系列的功能改进和优化,以提升开发效率和应用性能。 首先,让我们深入了解Spring MVC的基础架构。模型(Model)负责存储应用的数据,视图(View)用于展示这些数据,而...
Spring MVC 是 Spring 框架的一个重要组成部分,用于构建基于 Java 的 Web 应用程序。这个官方中文文档详细地介绍了如何使用 Spring MVC 来开发高效、可维护的 MVC(Model-View-Controller)架构的应用。Spring MVC ...
总的来说,这个个人博客系统结合了Spring MVC的Web开发优势、Mybatis的数据库操作便利性以及Spring的全面企业级特性,提供了一个完整的后端解决方案。对于学习和理解SSM(Spring、SpringMVC、Mybatis)框架集成开发...
在Spring MVC中,AOP常用于日志记录、事务管理等横切关注点,它可以将这些功能以声明式的方式与业务代码分离。 `ojdbc14.jar` 是Oracle数据库的驱动包,如果你的应用需要连接Oracle数据库,这个jar是必不可少的。 ...
尽管如此,这份中文文档可以帮助开发者理解Spring MVC的基本概念和使用方法,以便于快速上手和解决问题。由于官方文档无法访问,这份文档成为了临时的学习资源,虽然不够最新,但对于理解4.2.4版本的功能是足够了。...
总结起来,`@ModelAttribute`在Spring MVC中扮演了多种角色,包括数据绑定、控制器预处理方法、模型数据的创建以及HTTP上下文的设置。理解并灵活运用`@ModelAttribute`可以极大地提高我们的Spring MVC应用程序的效率...
在Spring MVC 4.0版本中,它引入了许多改进和新特性,以提升开发效率和应用程序的性能。 1. **依赖注入**:Spring MVC 4.0继续支持Spring框架的核心功能,依赖注入(DI),允许开发者通过配置来管理对象及其依赖...
在Spring MVC框架中,`@RequestParam` 和 `@ModelAttribute` 是两种常见的注解,用于从HTTP请求中绑定数据到控制器方法的参数。虽然它们都用于处理请求参数,但它们的作用和使用场景有所不同。 1. **`@RequestParam...