关于playframework:了解”Welcome to Play 2.0″页面创建

Understanding the "Welcome to Play 2.0" page creation

我刚刚开始尝试使用 play 框架,并尝试了解您在创建新项目时获得的这个默认应用程序。

据我了解,在加载localhost页面时,由于路由文件中的规范,一个http get请求进入并被定向到Application.index()方法?
index() 方法中,会生成大量 HTML 代码并在 Result 对象中返回并传递给 index.scala.html 文件,该文件将其移交给 main.scala.html ,在那里它被更多的 html 包围。

现在,我还不清楚一些事情:

  • Application.java 中有这一行 return ok(index.render("Hello World!"));
    索引属于 views.html.*;但是这个包裹在哪里?我在 API 中找不到它:(

  • 为什么我不能重命名 index.scala.html 文件?这个名字是约定俗成的吗?

  • index.scala.html 文件本身中:@play20.welcome(message, style ="Java") 做什么?这是在获得"欢迎玩 2.0"网站吗?再一次 - 我找不到 play20 的文档/API 条目:(

我希望有人能帮我大致了解一下,因为我现在真的很困惑..^^
我做了很多java,但根本没有Web编程,因此所有不同技术和语言的混合现在很奇怪!


在 TodoList 示例中,站点根目录 GET / 映射到方法 Application.index(),因此该方法创建了您所看到的 html。

控制器所做的一切都发生在这一行:return ok(index.render("Hello World!"));。基本上它会调用一些生成 html 并返回输出的模板。

  • return ok( ... ) 用于表示请求成功,返回码 200。
  • index.render( ... ) 返回一个名为 index 的模板的渲染 html 输出。这里使用的包是 views.html.* 但它实际上是指 views/index.scala.html。所以 index 部分没有约定,您可以根据需要重命名该部分。模板需要先编译,然后才能像 Java 类一样使用,这就是包名称不同的原因。框架会处理这个问题。
  • "Hello World!" 是参数,在 index.scala.html 的第一行中指定为消息参数
  • @play20.welcome( ... ) 只是调用另一个模板,即框架中包含的欢迎页面。这不是要更改的主题 - 它只是静态页面,从视图中删除该行后,您可以放置??任何您想要的 HTML。