1
0
mirror of https://gitee.com/dromara/hutool.git synced 2025-04-05 17:37:59 +08:00

FreemarkerEngine修改默认版本参数

This commit is contained in:
Looly 2024-02-19 18:45:38 +08:00
parent 4f83c48d38
commit 067d7dc495
6 changed files with 46 additions and 6 deletions
CHANGELOG.md
hutool-core/src/main/java/cn/hutool/core/map
hutool-extra/src
main/java/cn/hutool/extra/template
test
java/cn/hutool/extra/template
resources/templates

View File

@ -2,9 +2,10 @@
# 🚀Changelog
-------------------------------------------------------------------------------------------------------------
# 5.8.27(2024-02-10)
# 5.8.27(2024-02-19)
### 🐣新特性
* 【extra 】 FreemarkerEngine修改默认版本参数
### 🐞Bug修复

View File

@ -529,7 +529,7 @@ public class MapUtil {
}
/**
* 将键值对转换为二维数组第一维是key第二是value
* 将键值对转换为二维数组第一维是key第二是value
*
* @param map map
* @return 数组

View File

@ -10,12 +10,12 @@ import cn.hutool.core.io.IoUtil;
/**
* 抽象模板提供将模板融合后写出到文件返回字符串等方法
*
*
* @author looly
*
*/
public abstract class AbstractTemplate implements Template{
@Override
public void render(Map<?, ?> bindingMap, File file) {
BufferedOutputStream out = null;
@ -26,7 +26,7 @@ public abstract class AbstractTemplate implements Template{
IoUtil.close(out);
}
}
@Override
public String render(Map<?, ?> bindingMap) {
final StringWriter writer = new StringWriter();

View File

@ -103,7 +103,7 @@ public class FreemarkerEngine implements TemplateEngine {
config = new TemplateConfig();
}
final Configuration cfg = new Configuration(Configuration.VERSION_2_3_28);
final Configuration cfg = new Configuration(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS);
cfg.setLocalizedLookup(false);
cfg.setDefaultEncoding(config.getCharset().toString());

View File

@ -0,0 +1,38 @@
package cn.hutool.extra.template;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.extra.template.engine.freemarker.FreemarkerEngine;
import lombok.Data;
import org.junit.Test;
public class Issue3488Test {
@Test
public void freemarkerTest() {
final TemplateConfig config = new TemplateConfig("templates", TemplateConfig.ResourceMode.CLASSPATH);
config.setCustomEngine(FreemarkerEngine.class);
config.setCharset(CharsetUtil.CHARSET_UTF_8);
final TemplateEngine engine = TemplateUtil.createEngine(config);
Template template = engine.getTemplate("issue3488.ftl");
final UserService userService = new UserService();
userService.setOperator("hutool");
final PaymentInfo paymentInfo = new PaymentInfo();
paymentInfo.setUserService(userService);
String result = template.render(Dict.create().set("paymentInfo", paymentInfo));
//Console.log(result);
//Assert.assertEquals("你好,hutool", result);
}
@Data
static class PaymentInfo{
private UserService userService;
}
@Data
static class UserService{
private String operator;
}
}

View File

@ -0,0 +1 @@
hello,${paymentInfo}