POJO类型参数
就是成员类创建的对象,
//方法传递POJO类型参数,URL地址中的参数作为POJO的属性直接传入对象
//http://localhost/requestParam3?name=Jock&age=39
@RequestMapping("/requestParam3")
public String requestParam3(User user){
System.out.println(user);
return "page.jsp";
}
name=Jock&age=39 访问路径的参数就是 User对象的成员变量 与变量的值,springMVC就是这么传递请求数据到页面的
//当方法参数中具有POJO类型参数与普通类型参数嘶,URL地址传入的参数不仅给POJO对象属性赋值,也给方法的普通类型参数赋值
//http://localhost/requestParam4?name=Jock&age=39
@RequestMapping("/requestParam4")
public String requestParam4(User user,int age){
System.out.println("user="+user+",age="+age);
return "page.jsp";
}
User user,int age 在参数中有对象 与 对象中成员变量 同名的普通参数时,这时对同名的参数赋值,就会改变所有同名的参数。要想只改变其中一个同名着的参数值,只能将参数的名字该成不同的名称。
//使用对象属性名.属性名的对象层次结构可以为POJO中的POJO类型参数属性赋值
//http://localhost/requestParam5?address.city=beijing
@RequestMapping("/requestParam5")
public String requestParam5(User user){
System.out.println(user.getAddress().getCity());
return "page.jsp";
}
对象层次结构 就是这个参数是个对象,在这个对象中 有成员是对象的就出现层次结构,user就是一级层次 Address是user对象里的对象,他就是二级层次,
在请求中对成员对象的变量 address.city=beijing 是这个样子的
user.getAddress().getCity()这句在获取成员对象的变量值
//通过URL地址中同名参数,可以为POJO中的集合属性进行赋值,集合属性要求保存简单数据
//http://localhost/requestParam6?nick=Jock1&nick=Jockme&nick=zahc
@RequestMapping("/requestParam6")
public String requestParam6(User user){
System.out.println(user);
return "page.jsp";
}
这是在对象中 是集合类型的变量
nick=Jock1&nick=Jockme&nick=zahc 在 请求的访问路径中
用 nick=Jock 来表示集合中单个元素
这是装 非引用数据的集合
//POJO中List对象保存POJO的对象属性赋值,使用[数组]的格式指定为集合中第几个对象的属性赋值
//http://localhost/requestParam7?addresses[0].city=beijing&addresses[1].province=hebei
@RequestMapping("/requestParam7")
public String requestParam7(User user){
System.out.println(user.getAddresses());
return "page.jsp";
}
这是在对象中 是集合类型的变量
集合中装的是对象的
addresses[0].city=beijing&addresses[1].province=hebei 在 请求的访问路径中 对集合中装的是对象的 写法
addresses[0].city=beijing 表示为对象的第一个元素赋值
addresses[1].province=hebei 表示为对象的第二个元素赋值
city 和 province 是对象中元素的名称
beijing 和 hebei 是给元素赋的值
addresses[1].province=hebei在请求访问路径中这个对应索引位置的对象来,的到需要使用的对象的变量赋值。