1、 RequestMapping映射请求参数、请求方法或请求头。
a). param1:表示请求必须包含名为param1的请求参数
b). !param1:表示请求不能包含名为param1的请求参数
c). param1 != value1:表示请求必须包含名为param1的请求参数,且值不等于value1
d). {“param1 == value1”,”param2”}:请求必须包含名为param1和param2的参数,且param1的值必须等于value1
index.jsp
<a href="/user/userInfo?name=Jarvis&age=23" >RequestMapping params</a>
UserController.java
@RequestMapping(value = "userInfo",method = RequestMethod.GET,params = {"name=Jarvis","age"})
public String getUserInfo(){
return "userInfo";
}
2、 PathVariable映射URL绑定占位符
通过@PathVariable可以将URL中占位符参数绑定到控制器处理的方法的入参中,也就是说URL中的{paramName}占位符可以通过@PathVariable(paramName)绑定到操作方法的入参中。
index.jsp
<a href="/user/delUser/8" >PathVariable_delUser</a>
UserController.java
@RequestMapping(value = "/delUser/{delId}",method = RequestMethod.GET)
public String delUser(@PathVariable(value = "delId") Integer id){
System.out.println("delId : "+id);
return "SUCCESS";
}
3、请求处理方法签名@RequestParam
SpirngMVC对控制器处理方法的限制很宽松,必要时可以对方法及方法入参标注注解(@PathVariable@RequestParam@RequestHeader)
使用RequestParam来映射参数
1. value 请求参数名
2. required 参数是否必须,默认为True
3. defaultValue 参数默认值
index.jsp
<a href="/user/queryUser?userId=23&name=Jarvis" >RequestParam_queryUser</a>
Controller.java
@RequestMapping(value = "/queryUser",method = RequestMethod.GET)
public String queryUser(@RequestParam(value = "userId") Integer id,@RequestParam(value = "name",required = false,defaultValue = "") String name){
System.out.println("queryUserId : "+id + " name : "+ name);
return SUCCESS;
}