我试图理解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页面,它将充当其他子页面的容器,并以更模块化的方式安排我的代码
对不起,如果我问一个愚蠢的问题。
先谢谢
答案 0 :(得分:7)
根据Play docs main.scala.html
是布局 - 只是通用视图,允许从(content: Html)
从其他视图中注入HTML并对其进行引用。 主布局只包含注入了索引视图的代码。 (带可选参数)
相反的情况是使用包含或标记,因此只需指向应在当前视图中放置另一个视图的位置(也使用可选参数)。
您根本不需要使用它们 - Play不会强制您执行此操作,您可以为每个操作使用单独的视图(无布局)。
另一方面,如果一些视图应该共享同一组JS和/或CSS,那么布局是本地选择来完成这项工作。
对于示例而不是使用main.scala.layout
,您可以创建ie。 frontend.scala.html
,backend.scala.html
,guest.scala.html
因此您的观看次数视图将使用@frontend(){ code...}
,BE @backend(){ code... }
等。
您的布局/视图/标签数量不受限制,其他包含;)所有属于您。那是玩!