【问题标题】:How main.scala.html get called in Play Framework如何在 Play Framework 中调用 main.scala.html
【发布时间】:2014-01-20 21:16:35
【问题描述】:

我正在尝试了解 Play Framework 的架构(内部是如何工作的)。在 struts 等其他框架中,我们可以创建 index.html 页面并放置在 web 文件夹中,并在 web.xml 文件中输入。

在 Play 中,起点是 main.scala.html 页面,所有其他页面都从它继承而来,所有内容都包含在

  @main(title =""){
  }

喜欢 index.scala.html 页面。但是我找不到 main.scala.html 页面注册到 Play 框架的地方(路由文件或其他地方没有条目?)或者我可能在这里遗漏了一些点。

到目前为止,从播放文档中我了解到,每个 scala.html 页面基本上都是一个方法调用,这听起来对我来说是正确的。

所以我的目标基本上是创建其他页面,例如 main.scala.html 页面,它将充当其他子页面的容器,并以更模块化的方式排列我的代码

对不起,如果我问了一个愚蠢的问题。

提前致谢

【问题讨论】:

    标签: scala playframework playframework-2.0


    【解决方案1】:

    根据Play docs main.scala.html 是一个 layout - 只是一个普通视图,它允许从其他视图注入 HTML 并通过 (content: Html) 对其进行引用。 ma​​in 布局只是包装了 index 视图注入的代码。 (带有可选参数)

    相反的情况是使用 includetag,因此只需在当前视图中指向应该放置另一个视图的位置(也可以使用可选参数)。

    您根本不需要使用它们 - Play 不会强制您这样做,您可以为每个操作使用单独的视图(无布局)。

    另一方面,如果一些视图应该共享同一组 JS 和/或 CSS,那么布局是完成这项工作的本机选择。

    例如,您可以创建 ie,而不是使用 main.scala.layoutfrontend.scala.html, backend.scala.html, guest.scala.html 所以你的 FE 视图将使用 @frontend(){ code...}, BE @backend(){ code... } 等。

    您的布局/视图/标签和其他包括的数量不受限制;) 一切都属于您。这就是游戏!

    【讨论】:

    • 有道理,现在我可以把它联系起来了,谢谢你的解释!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多