【问题标题】:Understanding the "Welcome to Play 2.0" page creation了解“欢迎玩2.0”页面创建
【发布时间】:2012-10-11 11:38:20
【问题描述】:

我刚刚开始尝试使用 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编程,因此所有不同技术和语言的混合现在很奇怪!

【问题讨论】:

    标签: playframework playframework-2.0


    【解决方案1】:

    TodoList example 中,站点根目录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 的第一行中指定为 message 参数
    • @play20.welcome( ... ) 只是调用另一个模板,即框架中包含的welcome page。这不是要更改的主题 - 它只是静态页面,从视图中删除该行后,您可以放置​​任何您想要的 HTML。

    【讨论】:

    • 谢谢! :) .. 特别是 GIT 上欢迎页面的链接!
    猜你喜欢
    • 2023-03-28
    • 2015-03-28
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多