From ee46e47361ed7ceb538c0c2fd468ef6815c4c959 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Wed, 8 Jan 2025 09:20:24 +0800 Subject: [PATCH] =?UTF-8?q?revert(generator):=20=E8=BF=98=E5=8E=9F?= =?UTF-8?q?=E9=9D=99=E6=80=81=E6=A8=A1=E5=9E=8B=E5=8F=98=E9=87=8F=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E4=BF=AE=E5=A4=8D=20Menu.ftl=20=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generator/service/impl/GeneratorServiceImpl.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/continew-plugin/continew-plugin-generator/src/main/java/top/continew/admin/generator/service/impl/GeneratorServiceImpl.java b/continew-plugin/continew-plugin-generator/src/main/java/top/continew/admin/generator/service/impl/GeneratorServiceImpl.java index 2ebd061e..b48b64b7 100644 --- a/continew-plugin/continew-plugin-generator/src/main/java/top/continew/admin/generator/service/impl/GeneratorServiceImpl.java +++ b/continew-plugin/continew-plugin-generator/src/main/java/top/continew/admin/generator/service/impl/GeneratorServiceImpl.java @@ -28,8 +28,12 @@ import cn.hutool.db.meta.Table; import cn.hutool.extra.template.TemplateConfig; import cn.hutool.extra.template.TemplateEngine; import cn.hutool.extra.template.TemplateUtil; +import cn.hutool.extra.template.engine.freemarker.FreemarkerEngine; import cn.hutool.system.SystemUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import freemarker.template.Configuration; +import freemarker.template.DefaultObjectWrapper; +import freemarker.template.DefaultObjectWrapperBuilder; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -289,6 +293,11 @@ public class GeneratorServiceImpl implements GeneratorService { Map templateConfigMap = generatorProperties.getTemplateConfigs(); TemplateEngine engine = TemplateUtil .createEngine(new TemplateConfig("templates", TemplateConfig.ResourceMode.CLASSPATH)); + // 在模板中允许使用静态方法 + if (engine instanceof FreemarkerEngine freemarkerEngine) { + DefaultObjectWrapper wrapper = new DefaultObjectWrapperBuilder(Configuration.VERSION_2_3_33).build(); + freemarkerEngine.getConfiguration().setSharedVariable("statics", wrapper.getStaticModels()); + } for (Map.Entry templateConfigEntry : templateConfigMap.entrySet()) { GeneratorProperties.TemplateConfig templateConfig = templateConfigEntry.getValue(); // 移除需要忽略的字段