如何使用两个模板引擎?

比如:某个controller中的action需要用beetl,其他的action需要用enjoy。怎么实现?

评论区

JFinal

2018-09-01 19:30

引入一个 BaseController ,在其中做一个 renderBeetl(...) 方法,然后所有 Controller 继承这个即可

nbjgl

2018-09-01 19:32

@JFinal 就是不知道这个renderBeetl()方法怎么写?

nbjgl

2018-09-01 19:43

@nbjgl 找到一个三年前的帖子了,已解决,感谢。https://www.oschina.net/question/921107_245055

JFinal

2018-09-01 20:24

@nbjgl 那个太老了,你可以先参考 beetl 官网的方法整合 beetl,然后通过 renderTemplate(...) 来使用 enjoy 引擎

nbjgl

2018-09-01 22:08

@JFinal 帖子老,代码老,但是思路不老。
public void renderBeetl(String view) {
BeetlRenderFac beetlRenderFac = new BeetlRenderFac();
beetlRenderFac.config();
render(beetlRenderFac.getRender(view));
}

JFinal

2018-09-02 10:54

@nbjgl 这样每次 new 出来一个 factory 太浪费了,可以用一个 static 变量持有这个 factory , 全局共享,只 new 出来一次

flyinkeke

2018-09-03 11:34

可以看看这个 http://www.jfinal.com/share/1143

热门反馈

扫码入社