@RequestParam

把请求中的指定名称的参数传递给控制器中的形参赋值。
属性:

  1. value/name:请求参数中的名称(必写参数)。
  2. required:请求参数中是否必须提供此参数,默认值是true,true为必须提供。
  3. 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); }

  1. <a name="HE7EC"></a>
  2. ### @PathVariable
  3. 属性:
  4. 1. value/name:请求参数中的名称(必写参数)。
  5. 1. required:请求参数中是否必须提供此参数,默认值是true,true为必须提供。
  6. ```java
  7. // Controller.java
  8. @RequestMapping(value = "/quick/{name}")
  9. @ResponseBody
  10. public void save(@PathVariable("name") String username) {
  11. System.out.println(username);
  12. }
  13. // URL
  14. http://localhost:8080/Request_war_exploded/quick/%E9%A9%AC%E5%B9%BF%E5%AE%87

作用:

  1. 接收占位符参数、参数带值。
  2. 接收Restful风格的参数。

包路径:
org.springframework.web.bind.annotation.PathVariable

区别

  1. @RequestParam用来接收静态的URL请求参数。
  2. @PathVariable用来获取动态的URL请求参数。