【发布时间】:2014-12-24 07:14:19
【问题描述】:
我们想将一个硬编码的字符串附加到计算的表达式中。使用 SPEL 可以吗?
例子:
我有一个 Employee 类,它有一个字符串集合。 List<String> codes;
我可以使用以下表达式获取此集合。
expression = expressionParser.parseExpression("codes");
List<String> evaluatedCodes = (List<String>) expression.getValue(evaluationContext);
System.out.println(" evaluatedCodes " + evaluatedCodes);
我想在输出前加上一个字符串 .
expression = expressionParser.parseExpression("'PREFIX' + codes");
List<String> evaluatedCodes = (List<String>) expression.getValue(evaluationContext);
System.out.println(" evaluatedCodes " + evaluatedCodes);
这不起作用。有什么办法可以在输出前加上硬编码字符串?
我得到以下异常
java.lang.ClassCastException:java.lang.String 无法转换为 java.util.List 在 com.muhad.spel.ExampleConfigurationTests.testSPEL(ExampleConfigurationTests.java:103) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:601)
谢谢
生活
【问题讨论】: