播放框架2.1.3函数,该函数将使用给定参数呈现scala模板

播放框架2.1.3函数,该函数将使用给定参数呈现scala模板,第1张

播放框架2.1.3函数,该函数将使用给定参数呈现scala模板

如果这样做的话,您可能会失去类型安全性,并且可能会在编译时而不是运行时捕获一些错误。

但是仍然可能:

final Class<?> clazz = Class.forName("views.html." + folder + "." + template);//assumed you have a String parameter for your templatejava.lang.reflect.Method render = clazz.getDeclaredMethod("render", String.class);play.api.templates.Html html = (play.api.templates.Html) render.invoke(null, "hi");return ok(html);

另一种不包括反射开销的方法是在构建时使用SBT和源生成器对模板进行索引。您可以浏览views文件夹,然后根据文件夹/模板名称和发票创建地图。

该地图位于 生成的 类中,如下所示:

map.put("folderx.templatey", views.html.folderx.templatey);//no reflection!

因此,如果模板不存在,至少SBT会在构建时警告您。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5427009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存