我怎么能叫Play!没有渲染()的框架模板?
Posted
技术标签:
【中文标题】我怎么能叫Play!没有渲染()的框架模板?【英文标题】:How can I call a Play! Framework template without render()? 【发布时间】:2012-06-20 07:22:00 【问题描述】:我的 Play Framework 应用程序的 app/views/Application/movie.json 下有一个 JSON 模板。
通常您使用 render() 来访问此模板,但这需要向服务器发出请求。如何在不执行其他请求的情况下使用此模板服务器端并获取 JSON 输出?有JsonArray movies = Templates.render("movie.json")
之类的吗?
【问题讨论】:
顺便说一句,你想用这个模板得到什么?只是格式化的 JSON 对象? 获取 JSON 作为 String 或 JsonElement 并不重要。两者都可以工作 好吧,一般来说,我更喜欢使用 Java JSON 序列化程序而不是手动“模板内”JSON 渲染——只是考虑使用 ie 是否更好。flexjson
、jackson
或其他类似的库。
【参考方案1】:
Map<String, Object> params = new HashMap<String, Object>();
// prepare your template arguments
String s = TemplateLoader.load("Application/movie.json").render(params);
// the string s is the rendered output, you can do further processing
// to convert it into JSON object
【讨论】:
以上是关于我怎么能叫Play!没有渲染()的框架模板?的主要内容,如果未能解决你的问题,请参考以下文章