在游戏框架使用选项帮手2.0模板(Use of option helper in Play Fram

2019-06-23 14:37发布

我试图用views.html.helper.select (文件在这里 )。 我不知道阶,所以我用java。 我需要通过SEQ类型[(字符串)(字符串)]的对象到模板正确? 就像是:

@(fooForm:Form[Foo])(optionValues:Seq[(String)(String)])

@import helper._

@form(routes.foo){
  @select(field=myForm("selectField"),options=optionValues)
}

我不知道如何在Java中创建序列[(字符串)(字符串)。 我需要填写这个集合与我的枚举类对(ID,标题)。

有人能告诉我一些expample如何使用选择助手?

我发现这对用户组线程,但凯文的回答并没有对我帮助很大。

Answer 1:

的权利类型是: Seq[(String, String)] 。 这意味着对字符串的序列。 Scala中有一种方法来定义使用箭头双: a->b == (a, b) 所以,你可以写例如:

@select(field = myForm("selectField"), options = Seq("foo"->"Foo", "bar"->"Bar"))

但是还有另外一个帮手,如在文档中,建立的选择选项的顺序: options ,这样你就可以把上面的代码:

@select(myForm("selectField"), options("foo"->"Foo", "bar"->"Bar"))

在这种情况下你的选择值是一样的标签,你甚至可以缩短代码:

@select(myForm("selectField"), options(List("Foo", "Bar")))

(注:在播放2.0.4 options(List("Foo", "Bar"))不编译,所以你可以试试这个options(Seq("Foo", "Bar"))

以填充从Java代码的选项,更方便的方法是使用任一重载的options功能拍摄java.util.List<String>为参数(在这种情况下,选项的值将是相同的作为其标签)或重载函数服用java.util.Map<String, String>



文章来源: Use of option helper in Play Framework 2.0 templates