0

我想使用@helper.select表单 Play 2 模板引擎,我应该在其中指定Seq[(String,String)]包含<options>. 但我有List<Enum>。而且我对 Scala 的了解相当微弱。

如果没有这个助手,我<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;
    }
}

对于测试,我在 Play2 中使用了options = options("1" -> "1", "2" -> "2", "3" -> "3", "4" -> "4", "5" -> "5")inputRadioGroup的 Java 示例

我怎样才能Seq[(String,String)]从我的List<Enum>?

谢谢

4

1 回答 1

2

您可以在此处使用 for 理解:

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

这将返回一个Array[(String, String)]但 scala 将在预期类型为 时处理转换Seq[(String, String)]

于 2013-03-06T21:45:38.080 回答