0

我正在使用 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,并搜索互联网的其余部分。任何帮助表示赞赏。

4

2 回答 2

0

我最终找到了解决我自己问题的方法。我的设置最终看起来像这样,这或多或少是我理想的解决方案。本质上,我将'main.scala.html'定义为一个函数,它接受顶部列出的这4个参数,然后在'home.scala.html'中,我定义了4个充满一些HTML的变量,然后将它们传递给我的函数'main.scala.html'。像魅力一样工作,我可以将其他类似结构的不同文件解析为 main.js 文件。

于 2014-12-13T11:22:57.537 回答
0

模板用例文档中,您可以在布局段落的末尾找到专门讨论您的问题的部分。在这里可以找到两种不同的声明页面特定内容块的方法。

通过应用文档中的信息,您的视图将如下所示:

@()

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

您必须将每个部分定义为可重用的块,而不是简单地将它们作为参数传递给主模板。

于 2014-12-13T09:13:49.447 回答