2015-11-07 77 views

回答

2

有不同的方式(但一個簡單的@RequestParam('myMap')Map<String,String>不工作)

的(恕我直言)最簡單的解決方法是使用一個命令對象,那麼你可以在URL中使用[key]到specifiy地圖鍵:

@Controller

@RequestMapping("/demo") 
public class DemoController { 

    public static class Command{ 
     private Map<String, String> myMap; 

     public Map<String, String> getMyMap() {return myMap;} 
     public void setMyMap(Map<String, String> myMap) {this.myMap = myMap;} 

     @Override 
     public String toString() { 
      return "Command [myMap=" + myMap + "]"; 
     } 
    } 

    @RequestMapping(method=RequestMethod.GET) 
    public ModelAndView helloWorld(Command command) { 
     System.out.println(command); 
     return null; 
    } 
} 

與Spring 1.2.7引導

+0

謝謝拉爾夫!對於我們將通過'@PathVariable列表 map'和'map'的方法,您如何看待將包含如下內容:'12:34,83​​3:73,90:25'在控制器邏輯中,我們可以通過「 :「並獲得鍵/值對.. – alexanoid

+0

爲什麼你要這樣做,當」保存「解決方案如此簡單?我想你自己映射它,然後你應該看看matix變量:http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-ann-matrix - 變量和http://www.captaindebug.com/2013/04/just-what-are-spring-32-matrix.html#.Vj3NmCvMaIg – Ralph

+0

,因爲目前我有一個下面的映射'@RequestMapping(value =「/ criteria/{criteriaIds}'其中'criteriaIds'是一個'@PathVariable List criteriaIds'。現在我需要爲criteriaIds列表中的一些'criteriaId'添加雙重權重。 – alexanoid

相關問題