您的位置:首页 > 编程语言 > Java开发

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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: