论坛首页 Java企业应用论坛

@RequestMapping的params参数

浏览 11844 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-06-24  
@RequestMapping的params参数还是挺好用的。
我的需求是这样的,现在有两个列表页面,一个是全部用户的列表页面,一个是某一个用户的列表页面,但是他们的jsp页面是一样的,url路径我也想一样的,单一用户的列表页面我想通过传入用户名来区别。

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

@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";
		}

   发表时间:2013-06-24   最后修改:2013-06-24
@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的不好办。。 只能写多个方法
    1 请登录后投票
       发表时间:2013-06-24  
    jinnianshilongnian 写道


    不过如rest风格的带Path variable的不好办。。 只能写多个方法


    我也想用Path variable,可是我的变量里面有斜杠,然后我就,就悲剧了。
    0 请登录后投票
    论坛首页 Java企业应用版

    跳转论坛:
    Global site tag (gtag.js) - Google Analytics