有两种方法可以将通用视图代码包含在Play框架中。
您可以使用
#{include}标签或#{extends}标签。顾名思义,extends标签是从父视图扩展的。当您创建新的应用程序时,默认情况下,扩展标记用于Play设置的框架代码中。它扩展了main.html。您在此处添加代码。
includes标记允许您在指定点将通用的视图代码注入模板中。这项工作与php include / require或jsp
includes的工作原理几乎相同。
当您的模板代码还需要模型中的数据或逻辑(通过控制器)时,就会出现问题。如果是这种情况,那么您将需要在控制器中使用@Before或@With表示法,以确保每次都执行通用的控制器代码。您可以将任何数据添加到renderArgs列表,以便可以在视图中使用。
一个使用renderArgs的简单示例将是。
@Beforeprivate static void commonData() { // do your logic here renderArgs.put("menu", menu); renderArgs.put("selected", selectedMenuItem);}您放入renderArgs中的值(在示例中为菜单和选定值)将可用,就像您将它们传递给render方法一样。



