gpt4 book ai didi

java - playframework2.0中的自定义标签或在模板中执行 equals

转载 作者:行者123 更新时间:2023-12-01 15:28:35 24 4
gpt4 key购买 nike

我需要在模板中执行等于比较,以便进行条件渲染。

例如,我有 <li class="active"> 。在这里,我希望仅在 @request.path 时才呈现 Activity 状态。和@controllers.routes.Application.action()相等,否则空字符串即可。

docs 中所述的 if 语句似乎在识别括号方面受到限制,因此不起作用。

或者,如果您可以帮助我创建自定义标签,那也可以。没有关于如何执行此操作的文档。我更喜欢java。如果有 scala 替代方案,请避免过于冗长,因为我还没有弄清楚。

谢谢。

最佳答案

如果没有自定义标签,您可以在模板中尝试类似的操作:

<li class="@("active".when(request.path == controllers.routes.Application.action().toString()))">

示例应用程序中有一个示例(samples/java/forms/app/views/main.scala.html)。
不要忘记 toString(),因为 action() 返回一个 Call,而不是 String)。

执行此操作的自定义标记可能是:

@menu_element(name: String, route: Call) = {
<li class="@("active".when(route.toString() == request.path))"><a href="@route">@name</a></li>
}

使用示例:

<ul>
@menu_element("Home", controllers.routes.Application.index)
</ul>

关于java - playframework2.0中的自定义标签或在模板中执行 equals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9860968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com