Spring MVC通过分析处理方法的签名,将HTTP请求信息绑定到处理方法的相应入参中
Spring MVC对控制器处理方法签名的限制是很宽松的,几乎可以按喜欢的任何方式对方法
必要时可以按喜欢的任何方式对方法进行签名
必要时可以对方法及方法参数标注相应的注解(@PathVariable,@RequestParam,@RequestHeader等),Spring MVC框架会将HTTP请求的信息绑定到相应的方法入参中,并根据方法的返回值类型做出相应的后续处理。
使用@RequestParam绑定请求参数
在处理方法入参使用@RequestParam可以把请求参数传递给请求方法
1.可以将请求参数与我们处理方法的形参进行绑定
2.如果请求参数与处理方法的形参一致,则不必在用@RequestParam
3.如何形参不一致,要求@RequestParam标记必须通过value属性制定绑定请求参数的名称
@RequestParam属性:
-value:参数名
-required:是否必须,默认为true,表示请求参数中必须包含对应的参数。若不存在,将抛出异常
index.jsp
@RequestParam使用方法
<br/>
<form action="springmvc/testRequestParam">
id<input type="text" name="id">
name<input type="text" name="name">
<input type="submit" value="submit">
</form>
形参不一致:
@RequestMapping(value="/testRequestParam")
public String testRequestParam(@RequestParam(value="id")Integer a,@RequestParam(value="name")String b) {
System.out.println(a);
System.out.println(b);
return "success";
}
@RequestMapping(value="/testRequestParam")
public String testRequestParam(@RequestParam(value="id",required=true)Integer a,@RequestParam(value="name")String b) {
System.out.println(a);
System.out.println(b);
return "success";
}
加上required,id不能空,如果为空,则
形参一致的代码为:
@RequestMapping(value="/testRequestParam")
public String testRequestParam(Integer id,String name) {
System.out.println(id);
System.out.println(name);
return "success";
}