2014-12-13 53 views
0

我正在使用Play 2.3.7 Java,並且正在嘗試呈現模板。我可以使它工作,但只能使用非常醜陋的語法。到目前爲止,我的工作是在這裏:https://gist.github.com/aaron235/c21866dd7bff0ba3fc0cPlay框架模板中的不良語法

很明顯,有一大堆HTML的花括號不是最好的方式來做到這一點。我的理想'home.scala.html'看起來像這樣:https://gist.github.com/aaron235/4f446dfa41feb7d02458

我想命名參數解析爲'main.scala.html',但我找不到任何有意義的資源在徹底搜索SO之後,嘗試通過Nicolas Leroux和Sietse de Kaper在「Play for Java」中找到信息,並搜索其他互聯網。任何幫助表示讚賞。

回答

0

the template use cases documentation您可以在佈局段落末尾找到專門討論您問題的部分。在那裏可以找到兩種不同的聲明頁面特定內容塊的方法。

從你的觀點是要這個樣子文檔應用信息:

@() 

@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) 

你必須定義每個部分爲可重複使用的塊不是簡單地將它們傳遞到主模板參數。

+0

謝謝。我沒有忘記這些東西實際上是可執行的Scala,它改變了一切。我找到了自己的解決方案,除了這個之外,我還會把它作爲對我自己職位的評論發佈,希望有一天我能幫助別人。 – user3140645 2014-12-13 11:18:32

0

我最終找到了自己的問題的解決方案。我的設置看起來像this,這或多或少是我理想的解決方案。本質上,我將'main.scala.html'定義爲一個函數,它接受頂部列出的4個參數,然後在'home.scala.html'中定義4個變量,然後將它們傳遞給我函數'main.scala.html'。像魅力一樣工作,我可以將其他simialr結構的其他文件解析爲main。