- 在Spring MVC框架中,数据绑定有这样几层含义:
- 绑定请求参数输入值到领域模型;
- 模型数据到视图的绑定(输入验证失败时);
- 模型数据到表单元素的绑定(如下拉列表选项值由控制器初始化)。
- 表单标签库中包含了可以用在JSP页面中渲染HTML元素的标签。
- JSP页面使用Spring表单标签库时,必须在JSP页面开头处声明taglib指令:
| 名称 | 作用 | | —- | —- | | form | 渲染表单元素 | | Input | 渲染元素 | | Password | 渲染元素 | | Hidden | 渲染元素 | | Textarea | 渲染textarea元素 | | Checkbox | 渲染一个元素 | | Checkboxes | 渲染多个元素 | | Radiobutton | 渲染一个元素 | | Radiobuttons | 渲染多个元素 | | Select | 渲染选择元素 | | Option | 渲染一个选项元素 | | Options | 渲染多个选项元素 | | Errors | 在span元素中渲染字段错误 |<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
JSON数据交互
Spring MVC在数据绑定的过程中,需要对传递数据的格式和类型进行转换,它既可以转换String等类型的数据,也可以转换JSON等其他类型的数据。
- JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。与XML一样,JSON也是基于纯文本的数据格式。
- 它有两种数据结构:
- 对象结构
- 数组结构
- 为实现浏览器与控制器类之间的JSON数据交互,Spring MVC提供了MappingJackson2HttpMessageConverter实现类默认处理JSON格式请求响应。该实现类利用Jackson开源包读写JSON数据,将Java对象转换为JSON对象和XML文档,同时也可以 将JSON对象和XML文档转换为Java对象。
- Jackson开源包:
- jackson-annotations-2.9.4.jar:JSON转换注解包。
- jackson-core-2.9.4.jar:JSON转换核心包。
- jackson-databind-2.9.4.jar:JSON转换的数据绑定包。
- 以上3个Jackson的开源包可通过地址“http://mvnrepository.com/artifact/com.fasterxml.jackson.core”下载。
- 在使用注解开发时,需要用到两个重要的JSON格式转换注解:@RequestBody和@ResponseBody。
- @RequestBody:用于将请求体中的数据绑定到方法的形参中,该注解应用在方法的形参上。
- @ResponseBody:用于直接返回return对象,该注解应用在方法上。