1:基本数据类型key 是必传的并且必须类型一致

// http://localhost:8080/bind/baseType.do?xage=10
@RequestMapping(value = "/baseType.do")
@ResponseBody
public String baseType(@RequestParam("xage") int age) {
return "age:" + age;
}

2:包装数据类型key 是不是必须传入的

/ http://localhost:8080/bind/baseType2.do?age=10@RequestMapping(value = "/baseType2.do")
@ResponseBody
public String baseType2(Integer age) {
return "age:" + age;
} 3:
数组类型绑定
http://localhost:8080/bind/array.do?name=Tom&name=Lucy
@RequestMapping(value = "/array.do")
@ResponseBody
public String array(String[] name) { StringBuilder stringBuilder = new StringBuilder(); for (String item : name) {
stringBuilder.append(item).append(" ");
}
return stringBuilder.toString();
}

4:
简单对象绑定
public class Admin {

    private String name;

    private Integer age;
}
public class User {

    private String name;

    private Integer age;

    private ContactInfo contactInfo;

}
http://localhost:8080/bind/object.do?name=Tom&age=10
http://localhost:8080/bind/object.do?name=Tom&age=10&contactInfo.phone=10086&contactInfo.address=1
@RequestMapping(value = "/object.do")
@ResponseBody
public String object(User user, Admin admin) { return user.toString() + " " + admin.toString();
}
5:简单对象绑定扩展到不同对象的相同属性名
http://localhost:8080/bind/object.do?user.name=Tom&
user.age=10&contactInfo.phone=10086&
contactInfo.address=1&admin.name=Lucy&admin.age=15

添加如下bind
@InitBinder("user")
public void initUser(WebDataBinder binder) {
binder.setFieldDefaultPrefix("user.");
} @InitBinder("admin")
public void initAdmin(WebDataBinder binder) {
binder.setFieldDefaultPrefix("admin.");
} 6:List对象绑定

public class UserListForm {
private List<User> users;
}

http://127.0.0.1:8080/bind/list.do?users[0].name=Tom&users[1].name=Lucy
http://127.0.0.1:8080/bind/list.do?users[0].name=Tom&users[20].name=Lucy

@RequestMapping(value = "list.do")
@ResponseBody
public String list(UserListForm userListForm) {
return "listsize:" + userListForm.getUsers().size() + userListForm.toString();
}


7:
map对象绑定

public class UserMapForm {

private Map<String,User> users;
}
http://127.0.0.1:8080/bind/map.do?users['x'].name=Tom&users['x'].age=10&users['y'].name=Lucy

@RequestMapping(value = "map.do")
@ResponseBody
public String map(UserMapForm userMapForm) {
return userMapForm.toString();

}

8:Json类型数据绑定
{
"name":"Jim",
"age":16,
"contactInfo":{
"address":"beijing",
"phone":"10010"
}
}
@RequestMapping(value = "json.do")
@ResponseBody
public String map(@RequestBody User user) {
return user.toString(); }
需要引入
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>${org.codehaus.jackson.version}</version>
</dependency>


spring mvc 数据绑定入门的更多相关文章

  1. Spring MVC数据绑定入门总结

    1.基本类型 基本类型参数不可为空 正例:http://localhost:8080/demo/he?id=2 反例:http://localhost:8080/demo/he?id=(报400错误) ...

  2. Spring Mvc的入门

    SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的. Spring Web MVC是什么: Sprin ...

  3. Spring MVC【入门】

    Spring MVC[入门]就这一篇! MVC 设计概述 在早期 Java Web 的开发中,统一把显示层.控制层.数据层的操作全部交给 JSP 或者 JavaBean 来进行处理,我们称之为 Mod ...

  4. spring mvc框架入门

    目录 1.web框架分层 2.什么是springmvc 3.springmvc的优势 4.springmvc和struct的区别 (spring mvc框架入门 1.web框架分层 一般web框架可以 ...

  5. Spring MVC—数据绑定机制,数据转换,数据格式化配置,数据校验

    Spring MVC数据绑定机制 数据转换 Spring MVC处理JSON 数据格式化配置使用 数据校验 数据校验 Spring MVC数据绑定机制 Spring MVC解析JSON格式的数据: 步 ...

  6. 挪过来的spring mvc 的入门 介绍

    目录  一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...

  7. spring mvc 数据绑定

    1.spring mvc 默认提供的数据绑定类 private List<HandlerMethodArgumentResolver> getDefaultArgumentResolver ...

  8. spring MVC框架入门(外加SSM整合)

    spring MVC框架 一.什么是sping MVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 W ...

  9. spring+spring mvc+JdbcTemplate 入门小例子

    大家使用这个入门时候 最好能够去 搜一下 spring mvc 的 原理,我放一张图到这里,自己琢磨下,后面去学习就容易了 给个链接 (网上一把,千万不能懒)    https://www.cnblo ...

随机推荐

  1. 破解jar包5步搞定,jira7.9.2操作成功,附github代码库

    1,从要破解的程序中拷贝.jar包文件,运行1_jar.sh将其解压.以jira7.9.2为例: $install_dir\JIRA\atlassian-jira\WEB-INF\lib\atlass ...

  2. 编程提取字符串"Java is a programming language"中的各个单词,并打印输出。

    import java.lang.String; import java.util.StringTokenizer; public class StringGetWord{ /* 编程提取字符串&qu ...

  3. js之箭头函数

    原文 ES6标准新增了一种新的函数:Arrow Function(箭头函数). 为什么叫Arrow Function?因为它的定义用的就是一个箭头: x => x * x 上面的箭头函数相当于: ...

  4. Spring课程 Spring入门篇 4-5 Spring bean装配之基于java的容器注解说明--@Bean

    1 解析 2.1 @bean注解定义 2.2 @bean注解的使用 2 代码演练 2.1 @bean的应用不带name 2.2 @bean的应用带name   2.3 @bean注解调用initMet ...

  5. Ruby(或cmd中)输入命令行编译sass

    Ruby(或cmd中)输入命令行编译sass步骤如下: 举例: 1.在F盘中新建一个总文件夹,比如test文件夹,其中在该文件夹下面建立html.images.js.sass等文件夹. 2.在sass ...

  6. 转:ArcGIS提取面状道路中心线(转载)

    1.首先把所有的面要素merge成一个要素 2.把merge后的数据转成线数据 3.此时转换后的线数据一定是闭合的,为了防止提取中心线失败(只提取出外围轮廓)我们在随意一个道路末端使用打断工具打一个开 ...

  7. python 序列化,常用模块

    生成器与迭代器 生成器 在 Python 中,使用了 yield 的函数被称为生成器(generator). 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是 ...

  8. java实现12306的45分钟内支付,45分钟后取消订单功能?

    java实现12306的45分钟内支付,45分钟后取消订单功能? - 回答作者: 匿名用户 https://zhihu.com/question/27254071/answer/35948645

  9. 用Webstorm 运行React-native 工程时,出错:xcrun: error: unable to find utility "instruments", not a developer tool or in PATH

    解决方法:在 终端执行如下命令 sudo xcode-select -s /Applications/Xcode.app/Contents/Developer/ 注意:前提是你已经安装了xcode

  10. php nginx 获取header信息

    nginx中可能没有getallheaders函数 因此编写新函数 function NginxGetAllHeaders(){//获取请求头 $headers = []; foreach ($_SE ...