@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的不好辦。。 只能寫多個方法
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM