java - Play框架的模板引擎中是否有 "instanceof"功能?

标签 java inheritance playframework-2.0 instanceof

我想知道Play (2.0) 框架的模板引擎中是否有某种instanceof 功能。这将使我能够在我的模型层中有效地使用继承结构。

这基本上就是我想要的(除了这个模板不能编译):

@(instance: Superclass)

@main { 
    @if(instance instanceof Subclass) {
        Subclass instanceOfSubclass = (Subclass) instance;    
    }
}

编辑:我的意思是在特定的 Play for Java 中。

最佳答案

使用 Scala 模式匹配。

@(instance: Superclass)

@main { 
  @instance match {
    case foo: Foo => {
      <a href="@routes.Foo.index()">@foo.title</a>
    }
    case bar: Bar => {
      <a href="@routes.Bar.index()">@bar.title</a>
    }
  }
}

关于java - Play框架的模板引擎中是否有 "instanceof"功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9863113/

相关文章:

c++ - GDB:如何从子对象打印/调用父函数?

java - 错误+继承+接口(interface)

templates - Play 中所有 View 的可重用 Scala 代码

使用 Play : why is a list being parsed this way? 解析 JSON

Java Arrays.binarySearch(Object[], int, int, Object) 签名无法识别

java - 将存储库包含在存储库 github 中

java - Jasper 子报表在标题带中嵌入时仅显示来自 JSON 数据源的一个条目

javascript - 为什么在 javascript 中使用基于类的 OOP 样式继承?

playframework-2.0 - 如何在 Google Guice 中使用 Play Framework 的请求和 session 范围?

java - 如何使用 Hibernate 和 Null Float 字段注释