From c7a02973546c198ef52210119ff2743f4d736648 Mon Sep 17 00:00:00 2001 From: yanglin Date: Mon, 1 Apr 2024 15:43:58 +0800 Subject: [PATCH] REQ-2135: use fixed mode --- .../cn/axzo/msg/center/common/utils/TemplateParser.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/msg-center-common/src/main/java/cn/axzo/msg/center/common/utils/TemplateParser.java b/msg-center-common/src/main/java/cn/axzo/msg/center/common/utils/TemplateParser.java index c8afb1da..b6a29e8f 100644 --- a/msg-center-common/src/main/java/cn/axzo/msg/center/common/utils/TemplateParser.java +++ b/msg-center-common/src/main/java/cn/axzo/msg/center/common/utils/TemplateParser.java @@ -9,6 +9,8 @@ import org.springframework.expression.Expression; import org.springframework.expression.PropertyAccessor; import org.springframework.expression.TypedValue; import org.springframework.expression.common.TemplateParserContext; +import org.springframework.expression.spel.SpelCompilerMode; +import org.springframework.expression.spel.SpelParserConfiguration; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.expression.spel.support.ReflectivePropertyAccessor; import org.springframework.expression.spel.support.StandardEvaluationContext; @@ -42,7 +44,9 @@ public class TemplateParser { evalContext.addPropertyAccessor(new ReflectivePropertyAccessor(false)); evalContext.addPropertyAccessor(NullPropertyAccessor.INSTANCE); TemplateParserContext templateContext = new TemplateParserContext(openToken, closeToken); - Expression exp = new SpelExpressionParser().parseExpression(expression, templateContext); + SpelParserConfiguration parseCfg = new SpelParserConfiguration( + SpelCompilerMode.MIXED, TemplateParser.class.getClassLoader()); + Expression exp = new SpelExpressionParser(parseCfg).parseExpression(expression, templateContext); exp.getValue(evalContext, String.class); Object value = exp.getValue(evalContext); if (value == null)