0

我安装了 playframework 并有一个问题。我查看了 helloworld 教程,但它似乎使用了 groovy。

@(message: String)

@main("Welcome to Play 2.1") {

    @play20.welcome(message, style = "Java")

}

第一行是函数定义。play20 代表什么。我对 Scala 真的很陌生,我无法从中脱颖而出。

@(title: String)(content: Html)

    <!DOCTYPE html>

    <html>
        <head>
            <title>@title</title>
            <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
            <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")">
            <script src="@routes.Assets.at("javascripts/jquery-1.9.0.min.js")" type="text/javascript"></script>
        </head>
        <body>
            @content
        </body>
    </html>

这只是接受 html 内容和标题字符串的标准 HTML。但是如何从 index.scala.html 调用这个文件呢?

4

2 回答 2

0

您引用的示例听起来像是关于 Play 1,而您正在尝试的框架是 play 2,这是完全不同的事情。Play 2 有它自己的模板引擎。

@ 是表示您将开始 Scala 表达式的符号。像 < ?php ? > 或 <% %> 以其他语言为例。唯一的区别是您没有尾随符号,因为模板引擎在表达式末尾停止解析并自动返回以将模板评估为 html。

play20 是模板引擎范围内的对象,就像 java.lang 中的内容在常规​​ java 文件的范围内一样。例如字符串。

在这种情况下,play20 就像 Java 中具有静态方法的类。

教程中,您可以简单地介绍如何使用 Play 2 框架

于 2013-09-14T09:26:33.997 回答
0

@play20.welcome()部分调用 Scala 方法,与 Java 没有什么不同。

至于 HTML 模板,它们也被编译成 Scala 类,有点像 JSP 被编译成 servlet。

于 2013-09-14T02:33:36.113 回答