参数绑定
默认支持参数的类型
HttpSession对象 HttpServletRequest对象 HttpServletRequest对象(doGet doPost)
还可以使用Model对象(数据封装模型) 大多数是用于回传数据的(类似于Request域)
简单类型参数:如果传入的参数和我们设定的参数数据类型不一样 那就是参数非法 400错误
- 基本类型 四类八种
- String字符串
- 一般情况下在适用基本类型的时候一般是使用他的包装类类型.因为基本类型不能接受null值.
- 备注:对于布尔类型的参数,请求的参数值为1的时候,后台接受值为true 0 后台接收为false
// 测试基本类型
@RequestMapping("/role/test01.action")
public ModelAndView test01Basic(Integer id, Double salary, Boolean status, Character sex) {
System.out.println(id + " ======");// 1
System.out.println(salary + " ======");// 8000
System.out.println(status + " ======");// true
System.out.println(sex + " ======");// 男
return new ModelAndView();
}
@RequestParam
-
当表单中的name属性和请求的参数名称不匹配,可以使用@RequestParam这个注解.
该注解可以手动和name属性建立映射关系 -
name属性:指定参数名称,确保和表单中的name属性名称一致
-
required属性: 表示闯过来的name属性是否是必须的 ,默认值为true
-
defaultValue: 如果那么属性在传参的时候没有传值,可以使用dafaultValue设置默认值.
//测试 @RequestParam注解使用
@RequestMapping("/role/test03.action")
public ModelAndView test03RequestParam(@RequestParam(name = "id") Integer rid, @RequestParam(name = "salary") Double wage, Boolean status, @RequestParam(name = "sex") Character gender) {
// http://localhost:8080/day70_SSM01/role/test03.action?id=1&salary=8000&status=true&sex=男
System.out.println(rid + "=======================");
System.out.println(wage + "=======================");
System.out.println(status + "=======================");
System.out.println(gender + "=======================");
return new ModelAndView();
}