2013-03-06 49 views
0

我想使用@helper.select窗體播放2模板引擎,其中我應該指定Seq[(String,String)]包含<options>的數據。但我有List<Enum>。我知道斯卡拉比較弱。轉換列表<Enum>轉換成Seq [(String,String)]

沒有這種幫助我使用此代碼填充<select>

@for(category <- Categories.values()){ 
    <option value="@category">@Messages.get(category.getI18NName)</option> 
} 

和定義類別:

public enum Category{ 
    CATEGORY1{ 
     @Override 
     public String getI18NName(){ 
      return "category.category1"; 
     } 
    }, 
    CATEGORY2{ 
     @Override 
     public String getI18NName(){ 
      return "category.category2"; 
     } 
    }; 

    public String getI18NName(){ 
     return null; 
    } 
} 

爲了測試我使用options = options("1" -> "1", "2" -> "2", "3" -> "3", "4" -> "4", "5" -> "5")形式Java example of inputRadioGroup in Play2

我怎樣才能得到Seq[(String,String)]從我的List<Enum>

感謝

回答

2

可以使用用於理解這裏:

for (c <- Category.values()) yield c.name() -> c.getI18NName() 

這將返回一個​​但是當預期的類型是Seq[(String, String)]斯卡拉將處理轉換。

+0

謝謝。完美的作品! – nickotinus 2013-03-07 17:50:51

+0

來自Java的大提示,謝謝 – 2013-08-26 13:17:17

相關問題