springMVC数据绑定

来源:互联网 发布:我的世界怎么做js 编辑:程序博客网 时间:2024/06/07 19:17
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;@Controllerpublic 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=janepublic 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=10public 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=bbbpublic 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=bbbpublic 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=20public String map(MapForm map) {return map.toString();}}