mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-05 17:37:59 +08:00
FreemarkerEngine修改默认版本参数
This commit is contained in:
parent
4f83c48d38
commit
067d7dc495
CHANGELOG.md
hutool-core/src/main/java/cn/hutool/core/map
hutool-extra/src
main/java/cn/hutool/extra/template
test
@ -2,9 +2,10 @@
|
||||
# 🚀Changelog
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
# 5.8.27(2024-02-10)
|
||||
# 5.8.27(2024-02-19)
|
||||
|
||||
### 🐣新特性
|
||||
* 【extra 】 FreemarkerEngine修改默认版本参数
|
||||
|
||||
### 🐞Bug修复
|
||||
|
||||
|
@ -529,7 +529,7 @@ public class MapUtil {
|
||||
}
|
||||
|
||||
/**
|
||||
* 将键值对转换为二维数组,第一维是key,第二纬是value
|
||||
* 将键值对转换为二维数组,第一维是key,第二维是value
|
||||
*
|
||||
* @param map map
|
||||
* @return 数组
|
||||
|
@ -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();
|
||||
|
@ -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());
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
1
hutool-extra/src/test/resources/templates/issue3488.ftl
Normal file
1
hutool-extra/src/test/resources/templates/issue3488.ftl
Normal file
@ -0,0 +1 @@
|
||||
hello,${paymentInfo}
|
Loading…
Reference in New Issue
Block a user