freemarker做CMS的模版引擎,请各位给个思路

发布于 2022-01-04 12:52:00 字数 493 浏览 684 评论 6

如果单纯用freemarker做一个后台,我没问题。

但是我现在打算把freemarker作为前台的模版引擎使用。

当作为后台引擎时,加载模版之前,各个变量会在初始化freemarker的时候就已经已知。然后"压到"freemarker里显示就可以了。

但是作为前台引擎时,我希望达到的效果是,变量什么的要在模版里写,这样的话,相当于用户可以自定义模版。比如


{article node=1 count=10}
{art.title}
{/article}



类似以上形式。表示在节点为1的文章中找出10条循环显示文章标题。


相当于先解析一下模版,看看有哪些自定义变量要处理。

请问用freemarker的话怎么实现?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

可是我不能没有你 2022-01-07 23:30:48

是这样,我要写个CMS,管理后台的模板是写程序的时候已经做好了,这里没什么问题。前台就是显示文章的首页,列表页,内容页的地方,这些要打算给用户去自己自定义,所以希望能在模板里写一些标签就能完成文章的调取。

做个少女永远怀春 2022-01-07 23:30:15

回复

Webit Script 或许能帮到你

草莓味的萝莉 2022-01-07 23:09:19

原则上在渲染模版的时候不应做数据库相关的操作

另外 你对“前台引擎”是怎么定义的?

夜无邪 2022-01-07 22:25:16

如果没有使用过freemarker,建议你使用beetl

文档地址:http://ibeetl.com/guide/

项目:http://www.oschina.net/p/beetl

@闲.大赋

一笔一画续写前缘 2022-01-07 22:17:44

我研究一下 感谢指点

瑾兮 2022-01-07 05:05:38
是不是要这样的效果:
<@article id="1" rows="10" >
  ${article.title}
</@article>

Macro走起: http://freemarker.org/docs/ref_directive_macro.html

结合TemplateDirectiveModel接口,就可以达到你要的效果

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文