前言

  • 示例未经验证

Spring MVC @ModelAttribute 数据绑定

  • 通过 WebDataBinder@RequestMapping 方法的参数request 进行数据绑定
  • WebDataBinderrequest parameter names (query parameters and form fields)field names on the target Object 进行匹配
  • 数据绑定时,会使用 Spring Expression Language (SpEL) 绑定属性值

示例

Student 定义

class Student {private String name;private int age;private Map<String, String> param;
}

Teacher 定义

class Teacher {private String name;private List<String> tag;private List<Map<String, String>> group;
}

一般情况

@RequestMapping 方法声明

@PostMapping("save")
public String save(Student student){}

form表单

<input type="text" name="name" />
<input type="text" name="age" />

带前缀情况

@RequestMapping 方法声明

@PostMapping("save")
public String save(@ModelAttribute("s")Student student, @ModelAttribute("t")Teacher teacher){}

form表单

<input type="text" name="s.name" />
<input type="text" name="t.name" />

Map 作为对象属性

@RequestMapping 方法声明

@PostMapping("save")
public String save(@ModelAttribute("s")Student student){}

form表单

<input type="text" name="s.param['beginDate']" />
<input type="text" name="s.param['endDate']" />

List 作为对象属性

@RequestMapping 方法声明

@PostMapping("save")
public String save(@ModelAttribute("t")Teacher teacher){}

form表单

<input type="text" name="t.tag[0]" />
<input type="text" name="t.tag[1]" />

List<Map> 作为对象属性

@RequestMapping 方法声明

@PostMapping("save")
public String save(@ModelAttribute("t")Teacher teacher){}

form表单

<input type="text" name="t.group[0]['name']" />
<input type="text" name="t.group[0]['remark']" />
<input type="text" name="t.group[1]['name']" />
<input type="text" name="t.group[2]['name']" />
<input type="text" name="t.group[2]['remark']" />

参考

https://blog.csdn.net/qwe6112071/article/details/51062317
https://www.oschina.net/question/2539126_2160750

Spring MVC @ModelAttribute 数据绑定相关推荐

  1. Spring MVC中数据绑定流程和原理

    Spring MVC不支持表单日期字符串和日期类型之间的转换 Spring MVC数据绑定的流程(Spring MVC通过反射 机制对目标处理方法进行解析) 1.Spring MVC将ServletR ...

  2. [Spring MVC] - @ModelAttribute使用

    在Spring MVC里,@ModelAttribute通常使用在Controller方法的参数注解中,用于解释model entity,但同时,也可以放在方法注解里. 如果把@ModelAttrib ...

  3. spring mvc @ModelAttribute 基本类型 自定义对象解析流程

    一.如果方法中参数为基本类型,则通过POST的表单或者GET参数会使用 RequestParamMethodArgumentResolver作为参数解析器进行转换.如果参数名和客户端传入的参数名不一样 ...

  4. Spring MVC @ModelAttribute 详解

    1.@ModelAttribute注释void返回值的方法 [java] view plaincopy print? @Controller public class HelloModelContro ...

  5. Spring mvc @ModelAttribute

    SpringMVC4.3 版本以后新加入 作用: 出现在方法上,表示当前方法会在控制器的方法执行之前,先执行 出现在参数上,获取指定的数据给参数赋值. 属性: value:用于获取数据的 key.ke ...

  6. 3 Spring MVC 数据绑定

    1 映射 Cookie Spring MVC 通过映射可以直接在业务方法中获取 Cookie 的值. @RequestMapping("/cookie") public Strin ...

  7. Spring 2.5:Spring MVC中的新特性

    转载说明:infoQ就是牛人多,看人家去年就把Spring2.5注视驱动的MVC写出来了,还是这么详细,我真是自叹不如,今天偶尔看到这篇文章非常认真的拜读了2遍,简直是茅厕顿开啊....\(^o^)/ ...

  8. Spring MVC框架——Web开发框架

    1.MVC设计模式 一般指MVC框架,M(Model)数据模型层,V(View)视图层,C(Controller)控制层. Controller层:获取用户的请求,处理相关业务逻辑,并成功跳转页面,负 ...

  9. 【Java学习路线之JavaWeb】Spring MVC框架入门教程

    文章目录 读者 阅读条件 MVC设计模式简介 JSP+JavaBean Servlet+JSP+JavaBean MVC优缺点 优点 缺点 Spring MVC是什么 Spring MVC优点 第一个 ...

最新文章

  1. vs报错 已经在 helpers.obj 中定义
  2. python sql in list
  3. P3246 [HNOI2016]序列(莫队+单调栈+ST表)
  4. 亿佰特物联网通信-智慧城市的未来城市愿景
  5. 小企业的第一台服务器如何选?
  6. Python批量Excel文件数据导入SQLite数据库的优化方案
  7. cmake设置了CMAKE_MODULE_PATH,include找不到文件
  8. 装Windows 8 过程中遇到的问题,及解决方案
  9. 微软收购PhoneFactor以提高多因素身份认证应用程序的安全性
  10. uni-app请求后台接口方法封装
  11. 《计算机组成原理》第五版(唐朔飞考研版) 全书知识梳理
  12. 软件项目管理的重点知识
  13. php值班系统,php简单的值日值班处理方法
  14. eBay SOA开源平台
  15. Linux一句话精彩问答
  16. mysql the cabinet_mysql 一个较特殊的问题:You can’t specify target table ‘wms_cabinet_form’ | 很文博客...
  17. 初中计算机教师个人总结报告,初中计算机教师度工作总结工作总结
  18. 仿滴滴打车时间选择器开始结束时间
  19. The LeVoice Far-field Speech Recognition System for VOiCES from a Distance Challenge 2019
  20. xilinx IP 汇总

热门文章

  1. Debian 项目不再提供 CD 格式的 ISO 镜像
  2. github推送错误:已经有此代码,不允许覆盖的解决方法
  3. 网络分层协议图以及各层的简介
  4. tcp连接的三次握手
  5. Selenium - 简介
  6. 法嵌入互操作类型“SHDocVw.ShellWindowsClass”请改用适用的接口-解决方法
  7. JS(去掉前后空格或去掉所有空格)的用法
  8. 在C#代码中应用Log4Net 中配置文件的解释
  9. bct对oracle影响,Oracle 优化篇+Rman增量备份优化之BCT(块变更追踪)
  10. php连接redis的操作库predis操作大全