diff --git a/org.springframework.expression/src/main/java/org/springframework/expression/spel/ast/Projection.java b/org.springframework.expression/src/main/java/org/springframework/expression/spel/ast/Projection.java index 50ed7d94ea..5a4f2d46f1 100644 --- a/org.springframework.expression/src/main/java/org/springframework/expression/spel/ast/Projection.java +++ b/org.springframework.expression/src/main/java/org/springframework/expression/spel/ast/Projection.java @@ -88,8 +88,12 @@ public class Projection extends SpelNodeImpl { } return new TypedValue(result,op.getTypeDescriptor()); } else { - if (operand==null && nullSafe) { - return TypedValue.NULL_TYPED_VALUE; + if (operand==null) { + if (nullSafe) { + return TypedValue.NULL_TYPED_VALUE; + } else { + throw new SpelEvaluationException(getStartPosition(),SpelMessages.PROJECTION_NOT_SUPPORTED_ON_TYPE, "null"); + } } else { throw new SpelEvaluationException(getStartPosition(),SpelMessages.PROJECTION_NOT_SUPPORTED_ON_TYPE, operand.getClass().getName()); }