@RequestParam
把请求中的指定名称的参数传递给控制器中的形参赋值。
属性:
- value/name:请求参数中的名称(必写参数)。
- required:请求参数中是否必须提供此参数,默认值是true,true为必须提供。
- defaultValue:默认值
name与value达成的结果是一致的。
总结:
- @RequestParam注解的value值没有对应上jsp里的name值,则会报400错误。
- 如果加上required=false,没对应上也不会报错,而是获取值为null。
- 如果required值为false,并且没有携带需要的name值参数,可以使用defaultValue为参数赋一个默认值。 ```java // quick.jsp <%@ page contentType=”text/html;charset=UTF-8” language=”java” %>
// Controller.java @RequestMapping(value = “/quick”) @ResponseBody public void save(@RequestParam(value = “name”, required = false, defaultValue = “默认值”) String username) { System.out.println(username); }
<a name="HE7EC"></a>
### @PathVariable
属性:
1. value/name:请求参数中的名称(必写参数)。
1. required:请求参数中是否必须提供此参数,默认值是true,true为必须提供。
```java
// Controller.java
@RequestMapping(value = "/quick/{name}")
@ResponseBody
public void save(@PathVariable("name") String username) {
System.out.println(username);
}
// URL
http://localhost:8080/Request_war_exploded/quick/%E9%A9%AC%E5%B9%BF%E5%AE%87
作用:
- 接收占位符参数、参数带值。
- 接收Restful风格的参数。
包路径:
org.springframework.web.bind.annotation.PathVariable
区别
- @RequestParam用来接收静态的URL请求参数。
- @PathVariable用来获取动态的URL请求参数。