@PathVariable是用来获得请求url中的动态参数的,注解绑定它传过来的值到方法的参数上
@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。//配置url和方法的一个关系@RequestMapping("item/{itemId}")
如:
@RequestMapping(value="/testPathVariable/{id}")
public String testPathVariable(@PathVariable(value="id")Integer id){
System.out.println("----testPathVariable id="+id);
return "success";
}
http://localhost:8080/springmvc_1/testPathVariable/1
结果:
@RequestParam注解是获取静态URL传入的参数
@RequestParam 有三个属性:
(1)value:请求参数名(必须配置)
(2)required:是否必需,默认为
true,即 请求中必须包含该参数,如果
没有包含,将会抛出异常(可选配置)
(3)defaultValue:默认值,如果设置了该值,required
将自动设为 false,
无论你是否配置了required,配置了什么值,都是 false(可选配置)
@RequestMapping("/testRequestParam")
public String testRequest(@RequestParam String id){
System.out.println("----testRequestParam id="+id);
return "success";
}
springmvc会自动根据参数名字来注入,所以要名字一致,不然不会注入
---参数名也可以不一致
@RequestMapping("/testRequestParam2")
public String testRequest(@RequestParam(value="lid") String id){
System.out.println("----testRequestParam2 id="+id);
return "success";
}