是否可以动态加载模板并将其包含在渲染过程中

时间:2011-11-04 18:41:29

标签: templates dynamic playframework

我尝试用play框架开发一种报表生成器。每个报告都可以有一个特定的模板。报表创建者通过Web前端将包括依赖模板部分在内的所有必要元素放入数据库中。如果报表呈现开始,则此操作称为

public static void report(String name) throws SQLException {
    Report report = Report.find("byName", name).first();
    Template template = TemplateLoader.load("inner_report", report.template);
    request.params.remove("body");
    request.params.remove("name");
    List<Map> result = doSql(report.statement, request.params);
    render(template, result);
}

模板看起来像这样

#{extends 'main.html' /}
#{set title:'Scandio Reports Results' /}

#{extends 'inner_report' /}

是否可以使用#{extends /}模板标记呈现动态模板部件。有更好的解决方案吗?

谢谢

此问题已在此处https://groups.google.com/d/topic/play-framework/DCSbDjUu4_w/discussion

发布

1 个答案:

答案 0 :(得分:0)

你不能只使用标签而不是模板吗?然后,您可以在标签中剖析模板和结果,并渲染您需要的内容。