SpringMVC对请求参数的处理
如何获取SpringMVC中请求中的信息 ? 默认情况下,可以直接在方法的参数中填写跟请求参数一样的名称,此时会默认接受参 数 ,如果有值,直接赋值,如果没有,那么直接给空值 。
@Controller
@RequestMapping("/params")
public class ParamsController {@RequestMapping("/param01")public String param01(String username){System.out.println(username);return "index";}}
接下来访问: http://localhost:8080/springmvc/param01?username=test
对应方法参数中的username值为test
如果请求的参数跟处理方法的参数名不一致呢?
使用 @RequestParam 管理请求参数
如果用了这个注解之后,默认必须要传入值,如果不传入值则报400(参数类型不匹配)错误,
如果不用这个注解,如果没有传入会自动传入null
value 用来重命名参数
required 用来指定参数是否必须传入值
true 默认 必须要传入, 如果没有传入则会报错:
HTTP Status 400 - Required String parameter 'username' is not present
false 可以不用必须传入值 ,如果没有传入会自动传入null
注意:不要用基础数据类型,因为基础数据类型无法接收null(会报500错)
defaultValue 默认值,当参数为null的时候会自动设置一个默认值
注意:当设置了默认值可以省略required=false
@RequestMapping("/param01")public String param01(@RequestParam(value="name",required = true) String username){System.out.println(username);return "index";}
接下来可以访问: http://localhost:8080/springmvc/param01?name=test