我有一个通用模板play 2.6
,我想传入可变数量的HtmlContent
s。我已经定义了template
这样的(包括我所拥有的隐式参数,以防发生任何变化):
@(foo: String)(content: Html*)(implicit bar: Bar)
在模板方面,这很好用——我可以根据需要对其进行剖析content
和for
渲染。但是,我还没有找到一种从底层模板调用变量参数的干净方法。
例如,我有一个名为“Baz”的视图:
@(something: String)(implicit bar: Bar)
在其中,我尝试template
使用多个 Html 参数调用 。我尝试了以下方法:
@template("fooString"){{123},{abc}}
and
@template("fooString")({123}, {abc})
and
@template("fooString"){{123}, {abc}})
以及各种其他排列,但在封闭括号内,它似乎将所有内容逐字解释为HtmlContent
可变参数中的单个参数。
但是,这最终按我的预期工作,传递了多个HtmlContents
:
@template("fooString")(Html("123"), Html("abc"))
这样就可以了,我可以将三引号内插字符串用于大型 Html 块——但似乎应该有一种更清洁的方法来执行此操作,并且字符串内插很危险,因为它不会进行 html 转义。
有没有办法使用{
封闭的语法来做到这一点?我想了解更多在底层实际发生的事情,以及 play 如何解析和生成括号中的 HtmlContent。