mirror of
https://gitee.com/dromara/hutool.git
synced 2025-06-28 13:34:09 +08:00
TemplateConfig
增加setUseCache
方法(issue#IC3JRY@Gitee)
This commit is contained in:
parent
92d3eaeead
commit
6d8764eb03
@ -2,7 +2,7 @@
|
||||
# 🚀Changelog
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
# 5.8.38(2025-04-21)
|
||||
# 5.8.38(2025-04-26)
|
||||
|
||||
### 🐣新特性
|
||||
* 【core 】 `PathUtil#del`增加null检查(pr#1331@Gitee)
|
||||
@ -11,6 +11,7 @@
|
||||
* 【core 】 `CharSequenceUtil`增加toLoweCase和toUpperCase方法(issue#IC0H2B@Gitee)
|
||||
* 【core 】 增加分段锁实现`SegmentLock`(pr#1330@Gitee)
|
||||
* 【core 】 重载subtractToList方法,提供isLinked选项(pr#3923@Github)
|
||||
* 【extra 】 `TemplateConfig`增加`setUseCache`方法(issue#IC3JRY@Gitee)
|
||||
|
||||
### 🐞Bug修复
|
||||
* 【setting】 修复`Setting`autoLoad可能的加载为空的问题(issue#3919@Github)
|
||||
|
@ -1,11 +1,11 @@
|
||||
package cn.hutool.extra.template;
|
||||
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Objects;
|
||||
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
|
||||
/**
|
||||
* 模板配置
|
||||
*
|
||||
@ -34,6 +34,11 @@ public class TemplateConfig implements Serializable {
|
||||
*/
|
||||
private Class<? extends TemplateEngine> customEngine;
|
||||
|
||||
/**
|
||||
* 是否使用缓存
|
||||
*/
|
||||
private boolean useCache = true;
|
||||
|
||||
/**
|
||||
* 默认构造,使用UTF8编码,默认从ClassPath获取模板
|
||||
*/
|
||||
@ -163,6 +168,28 @@ public class TemplateConfig implements Serializable {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否使用缓存
|
||||
*
|
||||
* @return 是否使用缓存
|
||||
* @since 5.8.38
|
||||
*/
|
||||
public boolean isUseCache() {
|
||||
return useCache;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置是否使用缓存
|
||||
*
|
||||
* @param useCache 是否使用缓存
|
||||
* @return this
|
||||
* @since 5.8.38
|
||||
*/
|
||||
public TemplateConfig setUseCache(boolean useCache) {
|
||||
this.useCache = useCache;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 资源加载方式枚举
|
||||
*
|
||||
|
@ -106,6 +106,7 @@ public class ThymeleafEngine implements TemplateEngine {
|
||||
classLoaderResolver.setCharacterEncoding(config.getCharsetStr());
|
||||
classLoaderResolver.setTemplateMode(TemplateMode.HTML);
|
||||
classLoaderResolver.setPrefix(StrUtil.addSuffixIfNot(config.getPath(), "/"));
|
||||
classLoaderResolver.setCacheable(config.isUseCache());
|
||||
resolver = classLoaderResolver;
|
||||
break;
|
||||
case FILE:
|
||||
@ -113,6 +114,7 @@ public class ThymeleafEngine implements TemplateEngine {
|
||||
fileResolver.setCharacterEncoding(config.getCharsetStr());
|
||||
fileResolver.setTemplateMode(TemplateMode.HTML);
|
||||
fileResolver.setPrefix(StrUtil.addSuffixIfNot(config.getPath(), "/"));
|
||||
fileResolver.setCacheable(config.isUseCache());
|
||||
resolver = fileResolver;
|
||||
break;
|
||||
case WEB_ROOT:
|
||||
@ -120,6 +122,7 @@ public class ThymeleafEngine implements TemplateEngine {
|
||||
webRootResolver.setCharacterEncoding(config.getCharsetStr());
|
||||
webRootResolver.setTemplateMode(TemplateMode.HTML);
|
||||
webRootResolver.setPrefix(StrUtil.addSuffixIfNot(FileUtil.getAbsolutePath(FileUtil.file(FileUtil.getWebRoot(), config.getPath())), "/"));
|
||||
webRootResolver.setCacheable(config.isUseCache());
|
||||
resolver = webRootResolver;
|
||||
break;
|
||||
case STRING:
|
||||
|
@ -115,7 +115,10 @@ public class VelocityEngine implements TemplateEngine {
|
||||
final String charsetStr = config.getCharset().toString();
|
||||
ve.setProperty(Velocity.INPUT_ENCODING, charsetStr);
|
||||
// ve.setProperty(Velocity.OUTPUT_ENCODING, charsetStr);
|
||||
ve.setProperty(Velocity.FILE_RESOURCE_LOADER_CACHE, true); // 使用缓存
|
||||
if(config.isUseCache()){
|
||||
// issue#IC3JRY 可定制是否使用缓存
|
||||
ve.setProperty(Velocity.FILE_RESOURCE_LOADER_CACHE, true); // 使用缓存
|
||||
}
|
||||
|
||||
// loader
|
||||
switch (config.getResourceMode()) {
|
||||
|
Loading…
Reference in New Issue
Block a user