1.2、映射请求注解@RequestMapping的请求参数和请求头用法

来源:互联网 发布:最简单图片轮播js代码 编辑:程序博客网 时间:2024/06/10 08:37

@RequestMapping 除了可以使用请求 URL 映射请还可以使用请求方法、请求参数及请求头映射请求。
@RequestMapping 的 value、method、params 及 heads分别表示请求 URL、请求方法、请求参数及请求头的映射条件,他们之间是与的关系,联合使用多个条件可让请求映射更加精确化。
params 和 headers支持简单的表达式:
– param1: 表示请求必须包含名为 param1 的请求参数
– !param1: 表示请求不能包含名为 param1 的请求参数
– param1 != value1: 表示请求包含名为 param1 的请求参数,但其值不能为 value1
– {“param1=value1”, “param2”}: 请求必须包含名为 param1 和param2的两个请求参数,且 param1 参数的值必须为 value1。

用法如下:
首先配置web.xml和springmvc.xml用来处理请求的映射关系,配置方法与SpringMVC之注解RequestMapping用法中配置方法一样。

一、测试index.jsp

index.jsp中发送请求的连接为:

<a href="springMVC/testParamsAndHeaders?username=lzj&age=20">Test ParamsAndHeaders</a>

二、控制器方法

@Controller@RequestMapping("/springMVC")public class TestSpringMVC {    @RequestMapping(value="/testParamsAndHeaders", params={"username", "age!=20"})    public String testParamsAndHeaders(){        System.out.println("testParamsAndHeaders");        return "success";    }}

运行测试请求,不会触发控制器,因为控制器中的RequestMapping中的参数params={“username”, “age!=20”},要求请求过来的参数中必须要username,如果有请求过来的参数age,则age不能为10,当然请求中也可以没有age参数,那么index.jsp中的请求链接可以为:<a href="springMVC/testParamsAndHeaders?username=lzj">Test ParamsAndHeaders</a>。也是可以触发控制器方法的。

阅读全文
0 0
原创粉丝点击