EL1041E:(pos 2): After parsing a valid expression

Spring4.2 下载官网文档中给的代码:

ExpressionParser parser = new SpelExpressionParser();
Expression exp = parser.parseExpression("''Hello World''");
String message = (String) exp.getValue();

测试代码:

    public static void main(String[] args) {
        ExpressionParser parser = new SpelExpressionParser();
        Expression exp = parser.parseExpression("''Hello World''");
        System.out.println(exp.getValue(String.class));
    }

运行抛错:

Exception in thread "main" org.springframework.expression.spel.SpelParseException: EL1041E:(pos 2): After parsing a valid expression, there is still more data in the expression: 'Hello'
    at org.springframework.expression.spel.standard.InternalSpelExpressionParser.doParseExpression(InternalSpelExpressionParser.java:129)
    at org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:60)
    at org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:32)
    at org.springframework.expression.common.TemplateAwareExpressionParser.parseExpression(TemplateAwareExpressionParser.java:76)
    at org.springframework.expression.common.TemplateAwareExpressionParser.parseExpression(TemplateAwareExpressionParser.java:62)
    at com.mxsm.spring.spel.SpringSpel1.main(SpringSpel1.java:20)

查看在线的Spring文档发现

"''Hello World''"(下载的文档)在线文档"'Hello World'"

把字符串替换下就能正常运行了!

这个问题不知道是不是Spring4.2 离线文档有问题。反正我下载的离线文档是这样一个的。

你可能感兴趣的:(Spring,spring,SpEL)