@RequestMapping的params参数

@RequestMapping的params参数还是挺好用的。 
我的需求是这样的,现在有两个列表页面,一个是全部用户的列表页面,一个是某一个用户的列表页面,但是他们的jsp页面是一样的,url路径我也想一样的,单一用户的列表页面我想通过传入用户名来区别。 

但是springmvc不能多个方法匹配一个url。 
@RequestMapping的params参数就很好的就解决了这个问题。 
同一个url,只要params不同,sringmvc是会区分匹配的。 
示例我的项目中的一段代码: 

Java代码   收藏代码
  1. @RequestMapping(value = "/list",method=RequestMethod.GET)  
  2.         public String getAll(Model model) {  
  3.             Set<GroupSecure> secures= redisDao.get();  
  4.             model.addAttribute("secures", secures);  
  5.             return "group/list";  
  6.         }  
  7.           
  8.         @RequestMapping(value = "/list",method=RequestMethod.GET,params="method=one")  
  9.         public String getOneUser(@RequestParam(value ="name") String name,Model model) {  
  10.             Set<GroupSecure> secures=redisDao.getByName(name);  
  11.             model.addAttribute("secures", secures);  
  12.             return "group/list";  
  13.         }  
@RequestMapping注解Spring MVC中常用的注解之一,用于将请求映射到控制器的处理方法上。@RequestMapping注解可以接受多个参数,下面是一些常用的参数及其作用[^1]: 1. value:指定请求的URL路径,可以是一个字符串或字符串数组。例如,@RequestMapping(value = "/users")表示将请求映射到"/users"路径上。 2. method:指定请求的HTTP方法,可以是RequestMethod枚举值或枚举值数组。例如,@RequestMapping(value = "/users", method = RequestMethod.GET)表示将请求映射到"/users"路径上的GET方法。 3. params:指定请求的参数条件,可以是一个字符串或字符串数组。例如,@RequestMapping(value = "/users", params = "id=1")表示只有当请求参数中包含"id=1"时才会映射到该方法上。 4. headers:指定请求的头部条件,可以是一个字符串或字符串数组。例如,@RequestMapping(value = "/users", headers = "Content-Type=application/json")表示只有当请求头部中包含"Content-Type=application/json"时才会映射到该方法上。 5. consumes:指定请求的媒体类型条件,可以是一个字符串或字符串数组。例如,@RequestMapping(value = "/users", consumes = "application/json")表示只有当请求的媒体类型为"application/json"时才会映射到该方法上。 6. produces:指定响应的媒体类型条件,可以是一个字符串或字符串数组。例如,@RequestMapping(value = "/users", produces = "application/json")表示只有当响应的媒体类型为"application/json"时才会映射到该方法上。 下面是一个使用@RequestMapping注解的示例[^2]: ```java @Controller @RequestMapping("/owners/{ownerId}") public class RelativePathUriTemplateController { @RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, params="myParam=myValue") public void findPet(@PathVariable String ownerId, @PathVariable String petId, Model model) { // 实现省略 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值