如何用SpEL解析泛型表達式?用Spring Expression Language(SpEL)解析泛型
StandardEvaluationContext context = new StandardEvaluationContext();
ExpressionParser parser = new SpelExpressionParser();
String queryString = "new List<Integer>()";
Expression exp = parser.parseExpression(queryString);
List<Integer> list = (List<Integer>) exp.getValue(context);
這是拋出異常。 SpEL允許解析任意表達式。 我在這裏錯過了什麼?
org.springframework.expression.spel.SpelParseException: EL1050E:(pos 8): The arguments (...) for the constructor call are missing
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatConstructorArgs(InternalSpelExpressionParser.java:450)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.maybeEatConstructorReference(InternalSpelExpressionParser.java:792)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatStartNode(InternalSpelExpressionParser.java:507)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatPrimaryExpression(InternalSpelExpressionParser.java:343)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatUnaryExpression(InternalSpelExpressionParser.java:337)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatPowerIncDecExpression(InternalSpelExpressionParser.java:293)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatProductExpression(InternalSpelExpressionParser.java:272)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatSumExpression(InternalSpelExpressionParser.java:255)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatRelationalExpression(InternalSpelExpressionParser.java:210)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatLogicalAndExpression(InternalSpelExpressionParser.java:198)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatLogicalOrExpression(InternalSpelExpressionParser.java:186)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatExpression(InternalSpelExpressionParser.java:146)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.doParseExpression(InternalSpelExpressionParser.java:127)
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)
我的用例有點不同。 DynamoDBQueryExpression queryExpression = new DynamoDBQueryExpression ().withHashKeyValues(carter); \t \t DynamoDBQueryExpression REQ =(DynamoDBQueryExpression )exp.getValue(上下文) –
@PremKumar然後使用:'字符串的queryString = 「{}」;' –
@PremKumar看到我對規劃環境地政司方面的答案更新。 –