Playframework 2.0 Play框架中的模板语法系统引用
我正在用这个剧本做我的第一个项目!框架,并将阅读Manning的“Play for Java”一书的第一章 在第1.5节中,我们在apps/views中构建了第一个模板,名为hello.scala.htmlPlayframework 2.0 Play框架中的模板语法系统引用,playframework-2.0,Playframework 2.0,我正在用这个剧本做我的第一个项目!框架,并将阅读Manning的“Play for Java”一书的第一章 在第1.5节中,我们在apps/views中构建了第一个模板,名为hello.scala.html @(name:String) <!doctype html> <html> <head> <meta charset="UTF-8"> <title>Hello</title>
@(name:String)
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<h1>Hello @name</h1>
</body>
</html>
我对Java还不是非常熟悉,我正试图逐字解释第三行的意思
- Return ok-->返回HTTP ok代码,目前为止效果良好
- 视图-->这是否意味着要查看app/views文件夹?或者它是存储在其他地方的视图路径的引用
- .html-->这是数据类型吗?文件名?文件扩展名?如果取而代之的是名为hello.scala.htm的模板,这会发生变化吗
- .hello-->这是否引用文件的标题:hello.scala.html
- .render-->是否所有模板都使用此方法
- (名称)-->我假设这是引用hello.scala.html第一行中的参数
@(name:String)
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<h1>Hello @name</h1>
</body>
</html>
理解Play template引擎如何工作的关键是认识到每个视图都编译成Scala对象。你没有写你正在使用的剧本的版本。在2.3中,您可以在target/Scala-{version}/twirl目录中查看生成的Scala源 视图-->这是否意味着要查看app/views文件夹?或者它是一个 存储在其他位置的视图路径的参考 views.html只是一个放置对象的包。如果您的hello.scala.html文件位于views目录中,Play会自动生成目录views.html,并将编译为对象的模板放入其中。html包是根据模板的扩展生成的。所有扩展名为*.html的模板都将放在此包下。对于其他扩展,将生成不同的包 请注意,如果在views/subdir/hello.scala.html中创建视图,则生成的包结构将类似于views.html.subdir .html-->这是数据类型吗?文件名?文件扩展名?如果 模板名为hello.scala.htm,但这会改变吗 如上所述,它用于生成一个包。根据唯一的html,js、xml或txt是有效的扩展 .hello-->这是否引用了文件的标题: 您好,scala.html 在本例中,hello是从视图生成的对象的名称 .render-->是否所有模板都使用此方法 从视图源文件生成的每个对象都扩展了play.twirl.api.Template1,其中放置了render()的声明 (名称)-->我假设这是引用 hello.scala.html的第一行
@(name:String)
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<h1>Hello @name</h1>
</body>
</html>
是的,你说得对
此外,您还介绍了您对Java的熟悉程度。显然,掌握模板引擎的所有细节还需要对Scala有一点了解。好消息是,你不必知道它的一切,就可以正确地使用它