springMVC绑定数据的方式
2015-06-18 16:20
393 查看
数据绑定和类型转换,就是把请求中的参数转换成对应的变量,提供给后续的服务处理。HTTP请求只能传递字符串类型的参数,但是后台程序需要的变量类型就会多种多样了,比如int, long甚至是javabean这种自定义类型,如果框架能帮我们自动处理这些类型转换,就再好不过了。
SpringMVC中,最常使用的参数绑定方式是@RequestParam,不管是URL上的queryParam还是POST body中的FormParam都可以使用这个注解获得,并且会自动根据参数的类型进行类型转换。
比如,@RequestParam("priority") int priority,就会自动从请求中获得名为priority的参数,并转换成int类型,后台方法中可以直接使用。
也可以获得一个列表,比如前台传递的参数是selectedItem=1&selectedItem=2,可以使用@RequestParam("selectedItem") List<Long> selectedItem,直接把多个同名参数转换成一个列表。
如果某个参数可能不传递给后台,可以使用@RequestParam(value = "id", required = false) Integer id,那么在没有传递参数id时,就会传递null。
如果想获得请求传递的所有参数,可以使用@RequestParam MultivalueMap parameterMap,parameterMap中包含的就是请求中的所有参数了。
如果想把参数id=1&name=Lingo的值传入对应的javabean中,也可以使用@ModelAttribute UserBase userBean,SpringMVC会自动根据参数名与javabean中属性名的对应关系,把参数值复制到javabean中,这在前台表单有几十个参数需要传递给后台的情况就十分有用了。
SpringMVC中,最常使用的参数绑定方式是@RequestParam,不管是URL上的queryParam还是POST body中的FormParam都可以使用这个注解获得,并且会自动根据参数的类型进行类型转换。
比如,@RequestParam("priority") int priority,就会自动从请求中获得名为priority的参数,并转换成int类型,后台方法中可以直接使用。
也可以获得一个列表,比如前台传递的参数是selectedItem=1&selectedItem=2,可以使用@RequestParam("selectedItem") List<Long> selectedItem,直接把多个同名参数转换成一个列表。
如果某个参数可能不传递给后台,可以使用@RequestParam(value = "id", required = false) Integer id,那么在没有传递参数id时,就会传递null。
如果想获得请求传递的所有参数,可以使用@RequestParam MultivalueMap parameterMap,parameterMap中包含的就是请求中的所有参数了。
如果想把参数id=1&name=Lingo的值传入对应的javabean中,也可以使用@ModelAttribute UserBase userBean,SpringMVC会自动根据参数名与javabean中属性名的对应关系,把参数值复制到javabean中,这在前台表单有几十个参数需要传递给后台的情况就十分有用了。
相关文章推荐
- java中volatile关键字的含义
- springmvc配置
- eclipse快捷键及各种设置
- eclipse 不自动弹出提示(alt+/快捷键失效) 快捷键
- Java-马士兵设计模式学习笔记-工厂模式-单例及多例
- Java 六种异常处理的陋习(转)
- 用java实现图片的缩放
- JavaSript模块规范 - AMD规范与CMD规范介绍
- java数据结题之-喝可乐的问题
- spring技术总结
- MVC项目搭建--Java1.7+Eclipse luna + Maven 3.2.5 +spring 4.1.4
- JavaEE中用response向客户端输出中文数据乱码问题分析
- java中的基本数据类型与封装类
- java基础将一个int数组转换成一个字符串
- Java基础--多线程3
- JavaBean对象与Map对象互相转换
- 探秘Java虚拟机——内存管理与垃圾回收
- 反射
- myeclipse 2015 安装与破解包
- java基础将字符串进行反转