java - Play Framework 运行时生成模板

标签 java content-management-system playframework

使用 Play Framework 允许管理员用户创建和编辑模板然后呈现模板是多么容易。

本质上是类似于 CMS 的功能。

我是 Play Framework 的新手,正在评估它在个人项目中的使用情况。

编辑
另一种方法是使用像 CKEditor 这样的编辑器,将 html 保存在数据库中,并通过 CSS 提供一些重新设计外观,但更愿意让了解更多的用户也可以编辑模板。

最佳答案

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

如果不这样做,则只需保存 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);

关于java - Play Framework 运行时生成模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9832168/

相关文章:

java - 覆盖指向复合键 JPA/Hibernate 的外键名称

java - : java/nio/file/Paths; 解析失败

java - 用于在 Amazon Beanstalk Linux 上下载 Java 8 的 Dockerfile

java - 使用 Optional.orElseGet() 返回 null 并设置响应值

.net - 如何将CMS添加到现有网站

php - CMS 和框架有什么区别?以及如何根据某些要求在它们之间进行选择?

php - 将多个 PHP 变量分配给 MySQL 值

scala - 如何处理 playframework Controller 内的 future 选项?

java - 运行play framework项目时VM初始化出错

java - Spring MVC 应用程序中 NginX 反向代理后面的 getRemoteAddr()?