我想知道是否有任何方法使用playframework2动态加载模板和使用反射scala。在游戏中1.x我过去经常做以下事情:
public static void template(String templateName) {
renderTemplate("templateName");
}
无论如何我可以用play2.x实现同样的目的吗?
Java示例/解决方案将不胜感激
答案 0 :(得分:2)
您可以通过反射获取模板对象,然后使用结构类型调用其apply方法。
val c = Class.forName(fullyQualifiedTemplateClassName + "$")
val template = c.getField("MODULE$").get(c).asInstanceOf[{def apply():Html}]
Ok(template())