簡體   English   中英

Play框架模板中的語法不理想

[英]Undesirable syntax in Play framework templates

我正在使用Play 2.3.7 Java,並且正在嘗試渲染模板。 我可以使它正常工作,但是只能使用非常丑陋的語法。 到目前為止,我擁有的東西就在這里: https//gist.github.com/aaron235/c21866dd7bff0ba3fc0c

顯然,擁有一堆大括號的HTML塊並不是做到這一點的最佳方法。 我理想的'home.scala.html'看起來像這樣: https : //gist.github.com/aaron235/4f446dfa41feb7d02458

我想要命名的參數可以解析為“ main.scala.html”,但是在徹底搜索SO之后,我試圖找到Nicolas Leroux的“ Play for Java”中的信息后找不到任何有意義的資源。和Sietse de Kaper,並搜尋其余的互聯網。 任何幫助表示贊賞。

模板用例文檔中,您可以在Layout段落的末尾找到專門針對您的問題的部分。 在那里可以找到兩種聲明頁面特定內容塊的不同方法。

通過應用文檔中的信息,您的視圖將如下所示:

@()

@title = {
<title>Welcome to MessageWorks.</title>
},

@stylesheets = {
<link type="text/css" rel="stylesheet" href="/styles/main.css" />
...
},

@javascripts = {
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
...
},

@page = {
<h1>MessageWorks</h1>
...
} 

@main(title)(stylesheets)(javascripts)(page)

您必須將每個部分定義為可重用的塊,而不是簡單地將它們作為參數傳遞給主模板。

我最終找到了解決自己問題的方法。 我的設置最終看起來像這樣 ,這或多或少是我理想的解決方案。 本質上,我將“ main.scala.html”定義為一個函數,該函數接受頂部列出的這四個參數,然后在“ home.scala.html”中,定義四個充滿一些HTML的變量,然后將它們傳遞給我函數“ main.scala.html”。 像咒符一樣工作,我可以將simialr結構的其他文件解析為main。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM