Есть ли функция instanceof в шаблонизаторе платформы Play? - PullRequest
1 голос
/ 25 марта 2012

Я хотел бы знать, есть ли какая-то функциональность instanceof в шаблонизаторе платформы Play (2.0). Это позволило бы мне эффективно использовать структуру наследования в моём уровне модели.

Это в основном то, что я хотел бы (за исключением того, что этот шаблон не компилируется):

@(instance: Superclass)

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

Редактировать: Я имею в виду в конкретной Play для Java.

1 Ответ

4 голосов
/ 26 марта 2012

Использовать сопоставление с образцом 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>
    }
  }
}
...