java - SpEL 正在解析一个有效的表达式,表达式中还有更多数据

标签 java spring spring-el

我正在使用 Spring 表达式语言 (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)

最佳答案

尝试

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

相反。

参数是一个字符串,但是解析器需要知道这是一个字符串,因为你也可以解析其他东西。

有关更多信息,请查看here .

关于java - SpEL 正在解析一个有效的表达式,表达式中还有更多数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29534883/

相关文章:

java - 获取资源包内的所有文件名并适用于非jar和jar运行

java - "Error creating bean with name"创建事务管理器时

spring - Spring Batch "default"上下文变量是什么?

java - Oracle Java HotSpot VM 性能选项(+UseStringCache、+UseCompressedStrings、+OptimizeStringConcat)的当前状态是什么

java - 如何获取Mapreduce作业的Mapper中数据分片的文件路径?

Java Swing - 单击按钮后绘制连续的矩形

带有内置 Tomcat 服务器的 Spring Boot 独立应用程序 Vs 构建 war

java - Spring http 调用程序,bean 范围不被尊重?

java - 为什么 SpEL 在 Spring Boot 和 Spring Cloud Stream @SendTo 中不起作用

java - 如何在 Spring YAML 配置中转义 SpEL 美元符号?