jfinal enjoy 修改模板内容后没有实时生效

使用jfinal enjoy 模板引擎渲染html文件,第一次渲染有效,第二次修改用的模板还是上次的,已设置模板热加载

engine.setDevMode(true)

Engine engine = new Engine();
      
      engine.setDevMode(true);
engine.use().getTemplate(indexTempletePath).render(map,indexPath);

哪位大神帮我解答一下啊

评论区

JFinal

2019-06-13 11:41

代码缺失,修改这个贴子,注意贴代码时,先选择左上角的 "代码语言" 这个下拉,然后选择 java

然后将代码复制到暗色的区域,就不会丢失代码

zhongloyal

2019-06-13 11:52

@JFinal 谢谢大神,我修改好了,您看这样行么

JFinal

2019-06-13 11:57

@zhongloyal 还是不对,info(+) 这种东东从来就没有过

第一行文字中是黑黑的一行,里面没东西,如果提问都这么马虎,那回答者没有理由回复

回答者还在要求你如何将问题改对,要求提供信息量,这个是很不可思议的事情

happyboy

2019-06-13 12:30

帖子发表后自己先看下了,贴出来的代码明显有问题啊。engine.().getTemplate().render(map)中的engine.()是什么鬼,而且第一行明显什么都没有。这么明显的问题,扫一眼就能发现。赶紧再调调,(๑→ܫ←)

zhongloyal

2019-06-13 13:18

@JFinal 不好意思刚才排版有问题,现在行了吗

JFinal

2019-06-13 15:31

Engine engine = new Engine() 这行代码改成:
Engine engine = Engine.use();

否则你后续的 engine.use().getTemplate(indexTempletePath).render(map,indexPath) 这行代码中使用的 Engine 对前与你前面 new Engine() 创建的 Engine 完全无关

java 基础

JFinal

2019-06-13 15:32

更规范的代码是:
Engine engine = Engine.use();
engine.setDevMode(true);
engine.getTemplate(indexTempletePath).render(map, indexPath);

zhongloyal

2019-06-13 16:24

@JFinal 多谢指点,确实这样,改成这样就行了

zhongloyal

2019-06-13 16:27

这样写就是给了一个默认的引擎名称呗

JFinal

2019-06-13 16:47

@zhongloyal 不使用默认 Engine 可以这样用:
Engine engine = Engine.create("myEngine");

然后就可以在任何地方通过下面的方法获取前面创建的 Engine 了:
Engine.use("myEngine");

文档中都有详细说明