Spring MVC @ModelAttribute

学习完整课程请移步 互联网 Java 全栈工程师

简介

@ModelAttribute 具有如下三个作用:

  • 绑定请求参数到命令对象:放在功能处理方法的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时使用
  • 暴露 @RequestMapping 方法返回值为模型数据:放在功能处理方法的返回值上时,是暴露功能处理方法的返回值为模型数据,用于视图页面展示时使用
  • 暴露表单引用对象为模型数据:放在处理器的一般方法(非功能处理方法)上时,是为表单准备要展示的表单引用对象,如注册时需要选择的所在城市等,而且在执行功能处理方法(@RequestMapping 注解的方法)之前,自动添加到模型对象中,用于视图页面展示时使用

例子

暴露表单引用对象为模型数据的例子

@ModelAttribute
public User get(@RequestParam(required = false) String id) {
    User entity = null;
    if (StringUtils.isNotBlank(id)) {
        entity = userService.get(id);
    }
    if (entity == null) {
        entity = new User();
    }
    return entity;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、Spring MVC请求流程 (1)初始化:(对DispatcherServlet和ContextLoderL...
    拾壹北阅读 1,980评论 0 12
  • 16. Web MVC 框架 16.1 Spring Web MVC 框架介绍 Spring Web 模型-视图-...
    此鱼不得水阅读 1,086评论 0 4
  • 本章内容: 映射请求到Spring控制器 透明地绑定表单参数 校验表单提交 状态管理、工作流以及验证都是Web 开...
    谢随安阅读 8,648评论 0 4
  • 最近买了好几本书,又花了好多钱。 本来有点心疼,后来想,书还是要看的,要不进步怎么来的? 也是靠着看书,经历,思考...
    阳光贝拉阅读 454评论 2 5
  • 闹钟响了,猫抓脸了,被子捂脸继续睡 上厕所 刷牙 选衣服 喝热水 穿鞋 闪 快步走在路上,啊,新的一天又开始啦,加...
    伊笑白阅读 496评论 0 0