@RequestMapping的params参数

@RequestMapping的params参数还是挺好用的。 
我的需求是这样的,现在有两个列表页面,一个是全部用户的列表页面,一个是某一个用户的列表页面,但是他们的jsp页面是一样的,url路径我也想一样的,单一用户的列表页面我想通过传入用户名来区别。 
 
但是springmvc不能多个方法匹配一个url。 
@RequestMapping的params参数就很好的就解决了这个问题。 
同一个url,只要params不同,sringmvc是会区分匹配的。 
示例我的项目中的一段代码: 
 
Java代码  
@RequestMapping(value = "/list",method=RequestMethod.GET)  
        public String getAll(Model model) {  
            Set<GroupSecure> secures= redisDao.get();  
            model.addAttribute("secures", secures);  
            return "group/list";  
        }  
          
        @RequestMapping(value = "/list",method=RequestMethod.GET,params="method=one")  
        public String getOneUser(@RequestParam(value ="name") String name,Model model) {  
            Set<GroupSecure> secures=redisDao.getByName(name);  
            model.addAttribute("secures", secures);  
            return "group/list";  
        }  
 
--------------------------------------------------------------
@RequestParam(value ="name") 加个required=false,这两个就可以合并到一起了 
 
你想合并到一起,其实可以参考我的 
[url]https://github.com/zhangkaitao/es/blob/master/web/src/main/java/com/sishuok/es/sys/user/web/controller/UserController.java[/url] 
 
如,使用一个查询对象封装所有数据 
@RequestMapping(value = {""}, method = RequestMethod.GET) 
    @PageableDefaults(sort = "id=desc") 
    @SearchableDefaults(value = "deleted_eq=0") 
    public String listAll(Searchable searchable, Model model) { 
        return list(null, null, searchable, model); 
    } 
 
 
不过如rest风格的带Path variable的不好办。。 只能写多个方法
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值