springMVC数据绑定
2017-09-14 10:14
239 查看
package com.java.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.java.entity.Admin; import com.java.entity.ListForm; import com.java.entity.MapForm; import com.java.entity.SetForm; import com.java.entity.User; @Controller public class Text { @RequestMapping("baseType1.action") @ResponseBody // 传入的是基本类型的话不能为空 public String baseType1(int age) { return "age" + age; } @RequestMapping("baseType2.action") @ResponseBody // 传入的是包装类型的话可以为空 public String baseType2(Integer age) { return "age" + age; } @RequestMapping("array.action") @ResponseBody // http://localhost:8080/springmvc/array.action?name=tom&name=jim&name=jane public String array(String[] name) { StringBuilder builder = new StringBuilder(); for (String string : name) { builder.append(string).append(" "); } return builder.toString(); } //user和admin的字段一样,都是name和age @RequestMapping(value = "object.action", produces = "text/html;charset=utf-8") @ResponseBody // http://localhost:8080/springmvc/object.action?name=aaa&age=10 // http://localhost:8080/springmvc/object.action?name=aaa&age=10&info.phone=110&info.address=北京 public String object(User user) { return user.toString(); } //两个对象的字段相同时,通过下面的两个initXXX方法给两个对象设置别名进行传递参数 @RequestMapping(value = "object2.action") @ResponseBody // http://localhost:8080/springmvc/object2.action?user.name=aaa&admin.age=10 public String object2(User user, Admin admin) { return user.toString() + " " + admin.toString(); } @InitBinder("user") public void inituser(WebDataBinder binder) { binder.setFieldDefaultPrefix("user."); } @InitBinder("admin") public void initadmin(WebDataBinder binder) { binder.setFieldDefaultPrefix("admin."); } // List的数据绑定,List不需要初始化 @RequestMapping("list.action") @ResponseBody // http://localhost:8080/springmvc/list.action?list[0].name=aaa&list[1].name=bbb public String list(ListForm list) { return list.toString(); } // Set的数据绑定,Set需要初始化,集合下标越界会发生异常 @RequestMapping("set.action") @ResponseBody // http://localhost:8080/springmvc/set.action?set[0].name=aaa&set[1].name=bbb public String set(SetForm set) { return set.toString(); } // Map的数据绑定,不需要初始化 @RequestMapping("map.action") @ResponseBody // http://localhost:8080/springmvc/map.action?map['x'].name=aaa&map['x'].age=10&map['y'].name=bbb&map['y'].age=20 public String map(MapForm map) { return map.toString(); } }
相关文章推荐
- springMVC 表单数据不能绑定 Date double 等数据类型的问题
- SpringMvc 数据绑定400错误
- SpringMVC 自动绑定数据 - DATE多个类型格式 的数据绑定
- SpringMVC框架上传表单时怎么将表单数据与实体对象绑定,然后在控制器中调用
- 第六章、SpringMVC-注解式控制器详解-SpringMVC强大的数据绑定(2)
- 【SpringMVC】数据处理-数据绑定流程分析
- springmvc 数据精准绑定
- SpringMVC 数据绑定
- SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解——跟着开涛学SpringMVC
- SpringMVC-注解式控制器详解-SpringMVC强大的数据绑定
- SpringMVC 学习系列 (5) 之 数据绑定 -2
- SpringMVC数据绑定大全
- SpringMVC数据转换,数据绑定,数据验证流程分析
- 扩展SpringMVC以支持更精准的数据绑定1
- springMVC对简单对象、Set、List、Map的数据绑定和常见问题(一)
- SpringMVC 学习系列 (5) 之 数据绑定 -2
- SpringMVC【参数绑定、数据回显、文件上传】
- SpringMVC数据绑定
- SpringMVC数据绑定使用篇(1)
- SpringMVC 使用HandlerMethodArgumentResolver自定义解析器实现请求数据绑定方法入参