我有一个通用模板play 2.6
,我想通过一个可变金额HtmlContent
s。我已经定义了template
这样的(包括隐含参数我在的情况下,改变任何东西):斯卡拉发挥模板vararg HtmlContent
@(foo: String)(content: Html*)(implicit bar: Bar)
在模板上,这个工程fine--我可以解剖content
与for
,并使其为我想。然而,我还没有找到一种干净的方式来调用基础模板中的变量参数。
e.g,我有一个名为 “巴兹” 的观点:
@(something: String)(implicit bar: Bar)
在这里面,我试着用多个HTML参数来调用template
。我已经试过如下:
@template("fooString"){{123},{abc}}
and
@template("fooString")({123}, {abc})
and
@template("fooString"){{123}, {abc}})
和其他各种排列组合,而是一个封闭的支架内似乎字面解释一切,在HtmlContent
可变参数一个参数。
然而,这结束了工作,我打算,通过在多个HtmlContents
:
@template("fooString")(Html("123"), Html("abc"))
这样的作品,我可以用三引号内插字符串一个大的HTML block--但似乎就像应该有一个更干净的方法来做到这一点,字符串插值是危险的,因为它不会做html转义。
有没有办法使用{
封闭的语法来做到这一点?我想更多地了解底层关卡上实际发生的情况,以及如何在括号中解析并生成HtmlContent。
你'的Html (...)'方法对我来说看起来相当干净和明确。尽管如此,[Twirl源码](https://github.com/playframework/twirl)可能是一个试图进一步挖掘你的问题的地方。 – wwkudu
对我发布的答案有任何意见? –