我安装了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调用的呢?
发布于 2013-09-14 10:33:36
@play20.welcome()部分调用Scala方法,这与Java没有太大区别。
至于HTML模板,它们也被编译成Scala类,有点像JSP被编译成servlet。
发布于 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框架
https://stackoverflow.com/questions/18797703
复制相似问题