From 6601d3ecbdcb94a014eaebe275bf824e2c25ef1a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 08 Jul 2022 19:01:35 +0800
Subject: [PATCH] fix

---
 src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java b/src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java
index f97655c..e43cfca 100644
--- a/src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java
+++ b/src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java
@@ -8,6 +8,7 @@
 import com.xcong.farmer.cms.core.tag.TagsEnum;
 import com.xcong.farmer.cms.core.template.Configuration;
 import com.xcong.farmer.cms.core.template.TemplateConfiguration;
+import com.xcong.farmer.cms.utils.GroovySingleton;
 import groovy.lang.Binding;
 import groovy.lang.GroovyShell;
 import org.apache.commons.text.StringSubstitutor;
@@ -213,7 +214,8 @@
 //                }
 //            }
 
-            Binding binding = new Binding();
+            GroovyShell groovyShell = GroovySingleton.getSingleton();
+            Binding binding = groovyShell.getContext();
             for (Map.Entry<String, Object> entry : this.parserData.entrySet()) {
                 String fieldKey = entry.getKey();
                 Map<String, Object> data = (Map<String, Object>) entry.getValue();
@@ -224,13 +226,14 @@
                 binding.setProperty("system", systemData);
             }
 
-            GroovyShell shell = new GroovyShell(binding);
-            Object evaluate = shell.evaluate(group);
+//            GroovyShell shell = new GroovyShell(binding);
+            Object evaluate = groovyShell.evaluate(group);
             if (evaluate == null) {
                 targetData.put(group, "");
             } else {
                 targetData.put(group, evaluate.toString());
             }
+            groovyShell.getClassLoader().clearCache();
         }
 
         StringSubstitutor str = new StringSubstitutor(targetData);

--
Gitblit v1.9.1