我有一個通用模板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
對我發佈的答案有任何意見? –