![](/img/trans.png)
[英]How to pass a 2 dimensional string array from java code to scala.html in play framework?
[英]How do I construct an Html object from a String variable in Java controller code within the play (2.3) framework
我剛剛開始使用play框架,我正在嘗試理解java應用程序代碼和基於scala的模板框架之間的交互(注意:到目前為止我對Scala一無所知,除了它是另一個編譯為JVM上的字節碼的語言,以及您的Scala和Java類可以交互的語言。
我有一個test1.scala.html模板,如下所示:
@(title: String)(content: Html)
<!DOCTYPE html>
<html>
<head>
<title>@title</title>
</head>
<body>
@content
</body> </html>
從頂行可以看出,模板需要一個String和一個Html參數,但我無法弄清楚如何從Java調用者代碼構造Html參數!
我在我的控制器類中嘗試了一些變體:
return ok(test1.render("My Title","It <em>finally</em> works!"));
顯然這很失敗,因為第二個參數是String而不是Html,所以我的參數不匹配。 (有一個運行時錯誤: actual argument String cannot be converted to Html by method invocation conversion
- 這是有道理的,但我希望這里有一些魔法。:))
所以我嘗試從String中創建一些Html,認為這可能是包中的某個幫助類,這可能“只是工作”:
return ok(test1.render("My Title",new Html("It <em>finally</em> works!")));
這不會編譯,因為javac找不到Html類。 好,可以。 掃描播放文檔,似乎有一個play.api.templates.Html類(用Scala編寫)帶有一個帶String的構造函數,所以我嘗試完整的包限定名:
return ok(test1.render("My Title",new play.api.templates.Html("It <em>finally</em> works!")));
這也不會編譯:我在包play.api.templates中找不到'Html'的符號。
那么:什么是讓我將我的String(其中包含HTML片段)轉換為我可以傳遞到模板的HTML對象的神奇醬油?
播放模板已經被分解到Twirl模塊中,如Play 2.3遷移指南中所述 。
play.api.templates.Html
現在是play.twirl.api.Html
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.