SpEL 解析有效表达式时,表达式中仍有更多数据

2022-09-03 14:25:32

我正在使用Spring Expression Language(SpEL)并创建了一个示例程序。代码片段是

ExpressionParser parser=new SpelExpressionParser();
Expression expression=parser.parseExpression("Hello SPEL");

但得到了下面的错误。

Exception in thread "main" org.springframework.expression.spel.SpelParseException: EL1041E:(pos 6): After parsing a valid expression, there is still more data in the expression: 'SPEL'
    at org.springframework.expression.spel.standard.InternalSpelExpressionParser.doParseExpression(InternalSpelExpressionParser.java:116)
    at org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:56)
    at org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:1)
    at org.springframework.expression.common.TemplateAwareExpressionParser.parseExpression(TemplateAwareExpressionParser.java:66)
    at org.springframework.expression.common.TemplateAwareExpressionParser.parseExpression(TemplateAwareExpressionParser.java:56)

答案 1

尝试

Expression expression=parser.parseExpression("'Hello SPEL'");

相反。

该参数是一个 String,但解析器需要知道这是一个字符串,因为您也可以解析其他内容。

有关详细信息,请查看此处


答案 2

试试这个

Expression expression=parser.parseExpression("'Hello SPRING'");

推荐