首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法理解Playframework的工作原理

问无法理解Playframework的工作原理
EN

Stack Overflow用户
提问于 2013-09-14 10:31:09
回答 2查看 646关注 0票数 0

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

代码语言:javascript
复制
@(message: String)

@main("Welcome to Play 2.1") {

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

}

第一行是函数定义。play20代表什么。我真的是Scala的新手,我对它一无所知。

代码语言:javascript
复制
@(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调用的呢?

EN

回答 2

Stack Overflow用户

发布于 2013-09-14 10:33:36

@play20.welcome()部分调用Scala方法,这与Java没有太大区别。

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

票数 0
EN

Stack Overflow用户

发布于 2013-09-14 17:26:34

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

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

play20是模板引擎作用域中的对象,就像java.lang中的对象在常规java文件的作用域中一样。例如,字符串。

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

在this教程中,您已经很好地简单介绍了如何使用Play 2框架

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18797703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档