无法理解Playframework的工作原理

时间:2013-09-14 02:31:09

标签: java scala playframework-2.0

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

@(message: String)

@main("Welcome to Play 2.1") {

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

}

第一行是函数定义。 play20代表什么?我是斯卡拉的新手,我不能让它脱颖而出。

@(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调用此文件?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

你所引用的例子听起来像是关于Play 1,而你正在尝试的框架是游戏2,这是一个相当不同的事情。 Play 2拥有自己的模板引擎。

@是表示你要启动Scala表达式的符号。喜欢&lt; ?php? &GT;或&lt; %%&gt;在其他langauges。唯一的区别是你没有尾随符号,因为模板引擎在表达式结束时停止解析并自动返回到将模板评估为html。

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

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

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