import freemarker.template.Configuration;
import freemarker.template.Template;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
/**
* @author br.vst
* @since 2025-04-24 星期四 16:48:22
*/
public class FreemarkerUtil {
public static Template readResourcesFtl(String resourcePath, String templateName) throws IOException {
Configuration config = baseConfig();
// 假设模板文件在 classpath 下的 /template 目录
config.setClassForTemplateLoading(FreemarkerUtil.class, resourcePath);
return config.getTemplate(templateName);
}
public static Template readLocalFtl(String localPath, String templateName) throws IOException {
// 初始化 FreeMarker 配置
Configuration config = baseConfig();
config.setDirectoryForTemplateLoading(new File(localPath));
return config.getTemplate(templateName);
}
private static Configuration baseConfig() {
// 使用最新版本的 Configuration
Configuration config = new Configuration(Configuration.VERSION_2_3_28);
config.setDefaultEncoding(StandardCharsets.UTF_8.name());
return config;
}
}