为什么找不到路径
@Configuration public class SpringBootConfig { @Bean(name = "jfinalViewResolver") public JFinalViewResolver getJfinalViewRrsolver() { JFinalViewResolver jfr = new JFinalViewResolver(); jfr.setSourceFactory(new ClassPathSourceFactory()); // jfr.setPrefix("/templates/"); jfr.setSuffix(".html"); jfr.setContentType("text/html;charset=UTF-8"); jfr.setOrder(0); // jfr.addSharedFunction("/view/common/_layout.html"); // 获取 engine 对象,对 enjoy 模板引擎进行配置,配置方式与前面章节完全一样 Engine engine = JFinalViewResolver.engine; // 热加载配置能对后续配置产生影响,需要放在最前面 engine.setDevMode(true); // 使用 ClassPathSourceFactory 从 class path 与 jar 包中加载模板文件 engine.setToClassPathSourceFactory(); // 在使用 ClassPathSourceFactory 时要使用 setBaseTemplatePath // 代替 jfr.setPrefix("/view/") engine.setBaseTemplatePath("/templates/"); return jfr; } }
还有个问题是,我现在有个需求是发邮件,邮件用enjoy做模板
我必须写绝对路径才找得到模板
String tempPath = PathKit.() + Template template = Engine.().getTemplate(tempPath)
我就不能直接,这样找到模板吗?
Template template = Engine.use().getTemplate("test.html");
如果这样的话我打包到jar里路径都不一样了还怎么整?
我希望是全部让我放到res目录下我不用关心上面的绝对路径怎么做
JFinalViewResolver.engine.getTemplate("test.html");
另一种是先配置:
Engine.use().setToClassPathSourceFactory().setBaseTemplatePath("/templates/");
然后再使用:
Engine.use().getTemplate("test.html");
Enjoy 模板的各个 Engine 对象是独立配置的,可分别用于不同的用途,知道这点就能轻松拿捏了