freemarker获取模板工具类

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;
    }
}
posted @ 2025-04-24 16:54  wds09  阅读(45)  评论(0)    收藏  举报