Play框架运行时生成模板

5
使用Play框架,如何让管理员用户轻松创建和编辑模板并呈现这些模板。简单来说,就是类似于CMS的功能。我是Play框架的新手,并正在评估其在个人项目中的使用。
编辑:另一种选择是使用类似于CKEditor的编辑器,只需保存数据库中的HTML并通过CSS提供重新设计功能,但还希望允许更熟悉的用户编辑模板。

2
看一下TemplateLoader。这是你在找的吗? - senia
1个回答

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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接