| 程序包 | 说明 |
|---|---|
| com.jfinal.template | |
| com.jfinal.template.ext.spring | |
| com.jfinal.template.source |
| 限定符和类型 | 方法和说明 |
|---|---|
ISourceFactory |
Engine.getSourceFactory() |
ISourceFactory |
EngineConfig.getSourceFactory() |
| 限定符和类型 | 方法和说明 |
|---|---|
Engine |
Engine.setSourceFactory(ISourceFactory sourceFactory)
设置 ISourceFactory 用于为 engine 切换不同的 ISource 实现类
ISource 用于从不同的来源加载模板内容
配置为 ClassPathSourceFactory 时特别注意:
由于 JFinal 会在 configEngine(Engine me) 方法调用 “之前”,会默认调用一次如下方法:
me.setBaseTemplatePath(PathKit.getWebRootPath())
而 ClassPathSourceFactory 在以上默认值下不能工作,所以需要通过如下方式清掉该值:
me.setBaseTemplatePath(null)
或者配置具体要用的 baseTemplatePath 值,例如:
me.setBaseTemplatePath("view");
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
JFinalViewResolver.setSourceFactory(ISourceFactory sourceFactory)
设置 ISourceFactory 用于为 engine 切换不同的 ISource 实现类
配置为 ClassPathSourceFactory 时特别注意:
由于在 initServletContext() 通过如下方法中已设置了 baseTemplatePath 值:
setBaseTemplatePath(servletContext.getRealPath("/"))
而 ClassPathSourceFactory 在 initServletContext() 方法中设置的
值之下不能工作,所以在本方法中通过如下方法清掉了该值:
setBaseTemplatePath(null)
这种处理方式适用于绝大部分场景,如果在使用 ClassPathSourceFactory 的同时
仍然需要设置 baseTemplatePath,则在调用该方法 “之后” 通过如下代码再次配置:
setBaseTemplatePath(value)
|
| 限定符和类型 | 类和说明 |
|---|---|
class |
ClassPathSourceFactory
ClassPathSourceFactory 用于配置 Engine 使用 ClassPathSource 加载模板文件
配置示例:
engine.baseTemplatePath(null); // 清掉 base path
engine.setSourceFactory(new ClassPathSourceFactory());
|
class |
FileSourceFactory
FileSourceFactory 用于配置 Engine 使用 FileSource 加载模板文件
注意:
FileSourceFactory 为模板引擎默认配置
|
Copyright © 2024. All rights reserved.