一、映射规定请求参数

@RequestMapping 的 params 表示规定映射请求参数。

二、请求参数

params:用来规定客户端传到服务器的数据,支持表达式

params 的简单的表达式:

param1: 表示请求必须包含名为 param1 的请求参数

!param1: 表示请求不能包含名为 param1 的请求参数

param1 != value1: 表示请求包含名为 param1 的请求参数,但其值不能为 value1

{"param1=value1", "param2"}: 请求必须包含名为 param1 和 param2 的两个请求参数,且 param1 参数的值必须为 value1

三、代码示例

(1)定义控制器方法

//了解: 可以使用 params 来更加精确的映射请求. params 支持简单的表达式.
@RequestMapping(value="/testParams", params= {"username","age!=10"})
public String testParams(){
  System.out.println("testParams...");
  return "success";
}

(2)请求 URL

<!--设置请求参数信息 -->

<a href="springmvc/testParams">testParams</a>

(3)测试:使用火狐 或 Chrome 浏览器 debug 测试

① 测试有参数情况(不正确)

情况一:没有参数情况

请求:
<a href="springmvc/testParams">testParams</a>

异常:
No matching handler method found for servlet request: path '/springmvc/testParams', method 'GET', parameters map[[empty]

情况二:有参数,但不匹配指定的参数的键

请求:
<a href="springmvc/testParams?age=11">testParams</a>

异常:
No matching handler method found for servlet request: path '/springmvc/testParamsAndHeaders', method 'GET', parameters map['age' -> array<String>['11']]
② 测试有参数情况(正确)
<a  href="springmvc/testParams?username=springmvc&age=15">testParams</a>
posted on 2021-11-03 10:39  格物致知_Tony  阅读(217)  评论(0)    收藏  举报