我有一个非常简单的问题,我不知道如何解决。我需要在Play控制器中渲染一个不同的模板,具体取决于视图模板是否存在。
其中一个模板是由外部sbt任务构建的,具体取决于项目状态它可能不是基于此的外部依赖项,我需要渲染另一个模板。
是否有一种简单的方法可以检查Controller中是否存在视图模板类?
答案 0 :(得分:0)
它有点难看,因为Play模板被编译成类,你可以尝试加载类。
您可以尝试使用Class.forName加载该类。如果它存在,那么你可以使用它。由于出于性能考虑,因此不建议对流控制使用异常,因此您希望将此查找的结果缓存在某个单独的单例中。
try {
Class.forName("views.html.index.class");
}
catch(ClassNotFoundException e) {
//no here
}