diff --git a/CHANGELOG.md b/CHANGELOG.md index dcc219034..ffbdf9a98 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,10 @@ # 🚀Changelog ------------------------------------------------------------------------------------------------------------- -# 5.8.27(2024-02-10) +# 5.8.27(2024-02-19) ### 🐣新特性 +* 【extra 】 FreemarkerEngine修改默认版本参数 ### 🐞Bug修复 diff --git a/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java b/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java index 19699be31..27aaecbf5 100755 --- a/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java @@ -529,7 +529,7 @@ public class MapUtil { } /** - * 将键值对转换为二维数组,第一维是key,第二纬是value + * 将键值对转换为二维数组,第一维是key,第二维是value * * @param map map * @return 数组 diff --git a/hutool-extra/src/main/java/cn/hutool/extra/template/AbstractTemplate.java b/hutool-extra/src/main/java/cn/hutool/extra/template/AbstractTemplate.java index b61a71ba6..2b8814093 100644 --- a/hutool-extra/src/main/java/cn/hutool/extra/template/AbstractTemplate.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/template/AbstractTemplate.java @@ -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(); diff --git a/hutool-extra/src/main/java/cn/hutool/extra/template/engine/freemarker/FreemarkerEngine.java b/hutool-extra/src/main/java/cn/hutool/extra/template/engine/freemarker/FreemarkerEngine.java index 349d31457..08f8834d7 100644 --- a/hutool-extra/src/main/java/cn/hutool/extra/template/engine/freemarker/FreemarkerEngine.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/template/engine/freemarker/FreemarkerEngine.java @@ -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()); diff --git a/hutool-extra/src/test/java/cn/hutool/extra/template/Issue3488Test.java b/hutool-extra/src/test/java/cn/hutool/extra/template/Issue3488Test.java new file mode 100644 index 000000000..de9407147 --- /dev/null +++ b/hutool-extra/src/test/java/cn/hutool/extra/template/Issue3488Test.java @@ -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; + } +} diff --git a/hutool-extra/src/test/resources/templates/issue3488.ftl b/hutool-extra/src/test/resources/templates/issue3488.ftl new file mode 100644 index 000000000..5f022da0e --- /dev/null +++ b/hutool-extra/src/test/resources/templates/issue3488.ftl @@ -0,0 +1 @@ +hello,${paymentInfo}