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. 洛谷P1966 火柴排队(逆序对)

    题意 题目链接 Sol 不算很难的一道题 首先要保证权值最小,不难想到一种贪心策略,即把两个序列中rank相同的数放到同一个位置 证明也比较trivial.假设\(A\)中有两个元素\(a, b\), ...

  2. 【Android】8.0活动的生命周期(一)——理论知识、活动的启动方式

    1.0 Android是使用任务(Task)来管理活动的,活动就像栈一样堆放着在一起. 每个活动的生命周期最多可能会有四种状态: 1.1 运行状态 位于栈顶 1.2 暂停状态 不在栈顶但在界面上仍处于 ...

  3. 【代码笔记】Java——远程监控、反射、代理、内省机制

    远程控制的基本原理 远程控制(RemoteControl)拥有控制端和被控端双方. 控制方通过请求,取得对远端的操作,实现远端的事件回放功能,同时,应该看得到远端桌面的画面.而被控方必须在建立Serv ...

  4. css3总结之居中

    居中在前端布局上很常见,也很常用,也是最基本的技巧.居中效果在方向控制上基本可以分解成水平居中,垂直居中和水平垂直居中. 针对调整的元素不同,具体的处理方式上有些差异.这里我们先不讲绝对定位下的居中, ...

  5. jQuery之检测分析纠错------地狱的镰刀

    1. 答: 或者: $(selector).eq(0).hide(); 解答:get() 方法获得由选择器指定的 DOM 元素. 2. 答: 3, 答1: 答2: 4. slideDown()方法格式 ...

  6. SQL Server ->> SET ANSI_PADDING对于字符串插入的影响

    前面写了<SQL Server ->> 字符串对比>讲了SQL Server在做字符串对比和排序时的对尾随空格的处理方法. 再说说有一个和字符串尾随空格相关联的东西就是SET ...

  7. js实现base64编码与解码(原生js)

    一直以来很多人使用到 JavaScript 进行 base64 编码解码时都是使用的 Base64.js,但事实上,浏览器很早就原生支持 base64 的编码与解码了 以前的方式 编码: <ja ...

  8. Python模块 Socket

    一个简单的python socket编程 一.套接字 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并 ...

  9. ORACLE_LPAD_FUNCTION

    Oracle / PLSQL: LPAD Function This Oracle tutorial explains how to use the Oracle/PLSQL LPAD functio ...

  10. python入门14 字典dict

    字典dict是无序的key:value格式的数据序列 #coding:utf-8 #/usr/bin/python """ 2018-11-11 dinghanhua 字 ...