当前位置: 首页 > 面试题库 >

Play Framework是否支持“代码段”?

梁泰
2023-03-14
问题内容

如果我想跨多个页面(如菜单)使用一个通用的UI,推荐的这样做方法是什么?

它包含模板代码和后端控制器(类似于LiftWeb框架中的“片段”)。

我知道有一个Play菜单模块,但我对总体上如何实现更感兴趣。


问题答案:

有两种方法可以将通用视图代码包含在Play框架中。

您可以使用#{include}标签或#{extends}标签。

顾名思义,extends标签是从父视图扩展的。当您创建新的应用程序时,默认情况下,扩展标记用于Play设置的框架代码中。它扩展了main.html。您在此处添加代码。

includes标记允许您在指定点将通用的视图代码注入模板中。这项工作与php include / require或jsp
includes的工作原理几乎相同。

当您的模板代码还需要模型中的数据或逻辑(通过控制器)时,就会出现问题。如果是这种情况,那么您将需要在控制器中使用@Before或@With表示法,以确保每次都执行通用的控制器代码。您可以将任何数据添加到renderArgs列表,以便可以在视图中使用。

一个使用renderArgs的简单示例将是。

@Before
private static void commonData() {
    // do your logic here
    renderArgs.put("menu", menu);
    renderArgs.put("selected", selectedMenuItem);
}

您放入renderArgs中的值(在示例中为菜单和选定值)将可用,就像您将它们传递给render方法一样。



 类似资料:
  • 我有一次性编码的标签。我想用它们来训练和预测一个catBooked分类器。然而,当我拟合时,它给我一个错误,说标签每行不允许多个整数值。那么,猫推不允许标签的一次性编码吗?如果没有,我怎样才能让猫助推工作?

  • 问题内容: 因此,我希望将其转换为这样的Java代码: JAXB是否可能? 曾经看到一些WebService Client存根生成器正在执行此操作,但也许不确定axis2 Webservice。 问题答案: 的 JAXB(JSR-222) 规范没有盖产生快速失败逻辑到域模型。现在,一种常见的做法是以注释(或XML)的形式表示验证规则,并对它们进行验证。 Bean验证(JSR-303) 对此进行了标

  • 问题内容: 我正在尝试执行一个简单的INSERT并返回标识(自动递增主键)。我试过了 我收到以下错误 SQLite是否支持SCOPE_IDENTITY? 如果可以,该如何使用? 如果不是,我(最好是“线程安全”)的替代方案是什么? 问题答案: 查看常见问题解答。该sqlite3_last_insert_rowid()函数将做到这一点。不过要小心触发器。

  • 我正在使用RDF4J工作台: 尽管我可以在github上的RDF4J存储库中看到对GeoSPARQL的引用,但目前似乎还没有实现。我在已清除的“带RDFS自旋支持的内存存储”存储库上运行了这个SPARQL更新查询,以在RDF4J工作台上设置测试: 这导致一个存储库具有一个事实。 现在,我尝试通过以下查询查找与文字多边形的重叠,该查询应该可以找到上面设置的一个事实: 此查询以HTML的形式给出了一个

  • 问题内容: 我想知道是否有任何方法可以在Java中实现。我认为,如果没有本地对闭包的支持,这是不可能的。 问题答案: Java 8(2014年3月18日发布)不支持curring。可以将Missingfaktor在答案中发布的示例Java代码重写为: …这是非常好的。就个人而言,有了Java 8,我几乎没有理由使用替代的JVM语言(例如Scala或Clojure)。当然,它们提供了其他语言功能,但

  • Spring Cloud库伯内特斯是否支持Spring Cloud负载均衡器? 我要在库伯内特斯上部署Spring启动应用程序,并通过以下链接执行客户端负载平衡功能区客户端https://cloud.spring.io/spring-cloud-static/spring-cloud-kubernetes/2.0.0.M1/reference/html/#ribbon-discovery-in-k