2013-03-06 4 views
0

으로 변환합니다. @helper.select 양식을 사용하고 싶습니다. <options>에 대한 데이터가 포함 된 Seq[(String,String)]을 지정해야하는 Play 2 템플릿 엔진을 사용하고 싶습니다. 하지만 List<Enum>입니다. 그리고 나는 약한 스칼라를 알고 있습니다. 나는 options = options("1" -> "1", "2" -> "2", "3" -> "3", "4" -> "4", "5" -> "5")Java example of inputRadioGroup in Play2<Enum>을 Seq [(String, String)]

가 어떻게에서 Seq[(String,String)]을 얻을 수있는 형태로 사용 테스트를 위해

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

    public String getI18NName(){ 
     return null; 
    } 
} 

: 장르의

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

및 정의 :이 코드를 사용하여 <select>를 채우는이 도우미없이

List<Enum>?

감사

답변

2

현재 이해의를 사용할 수 있습니다

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

이것은 Array[(String, String)]를 반환하지만, 예상되는 형태가 Seq[(String, String)] 때 스칼라 변환을 처리합니다.

+0

감사합니다. 완벽하게 작동합니다! – nickotinus

+0

Java에서 온 훌륭한 팁, 감사합니다. –

관련 문제