【问题标题】:Play Framework runtime generation of templatesPlay Framework 运行时生成模板
【发布时间】:2012-04-07 14:21:05
【问题描述】:

使用 Play 框架让管理员用户创建和编辑模板然后渲染模板是多么容易。

所以本质上类似于 CMS 的功能。

我是 Play Framework 的新手,并且正在评估它以用于个人项目。

编辑
另一种方法是使用 CKEditor 之类的编辑器,然后将其中的 html 保存在数据库中,并通过 CSS 提供一些重新皮肤,但更希望允许了解更多的用户也可以编辑模板。

【问题讨论】:

标签: java content-management-system playframework


【解决方案1】:

这个问题的答案取决于您是否需要可编辑页面中的动态内容。

如果您不这样做,那么只需保存 HTML 文本。如果你这样做了,而且它真的很有限(比如替换名称字段),那么你可以简单地对 HTML 文本进行简单的字符串替换。

如果您决定想要动态编辑 Play 模板的全部荣耀(并且可以考虑安全性),那么您可以编译模板。请注意,这是在 Play 1.2.x 中完成的 - 尽管在 Play 2.x 中无疑是类似的。确保缓存模板,因为它们的编译成本很高(查看 TemplateLoader.load(VirtualFile file) 以了解如何缓存和更新的想法)

String name = "mytemplate";
String source = "hi ${name}";
Template template = new GroovyTemplateCompiler().compile(new GroovyTemplate(name, source)));
Map<String,Object> args = new HashMap<String,Object>();
args.put("name","mom");
String renderedHtml = template.render(args);

【讨论】:

    猜你喜欢
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 2013-12-26
    相关资源
    最近更新 更多