Closed
Description
Upgraded from Spring Framework 5.3.15 to 5.3.16 (via Boot) and this expression
T(Character).isUpperCase(c) ? 'uppercase' : 'lowercase'
now throws the exception
org.springframework.expression.spel.SpelEvaluationException: EL1005E: Type cannot be found 'Character'
at org.springframework.expression.spel.support.StandardTypeLocator.findType(StandardTypeLocator.java:117)
at org.thymeleaf.spring5.expression.ThymeleafEvaluationContext$ThymeleafEvaluationContextACLTypeLocator.findType(ThymeleafEvaluationContext.java:193)
at org.springframework.expression.spel.ExpressionState.findType(ExpressionState.java:155)
at org.springframework.expression.spel.ast.TypeReference.getValueInternal(TypeReference.java:69)
at org.springframework.expression.spel.ast.CompoundExpression.getValueRef(CompoundExpression.java:55)
at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:91)
at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:188)
at org.springframework.expression.spel.ast.Ternary.getValueInternal(Ternary.java:53)
at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:112)
at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:337)
at org.thymeleaf.spring5.expression.SPELVariableExpressionEvaluator.evaluate(SPELVariableExpressionEvaluator.java:265)
... 164 more
Changing it to java.lang.Character
works again.
Possibly it's a Thymeleaf (3.0.14 -> 3.0.15) issue instead?