From ec3d54d2305e6b6bce12f770fec67fe63008d45b Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Wed, 31 May 2017 10:25:00 -0400 Subject: [PATCH] Use fixed parser for empty value binding expressions --- .../springframework/webflow/mvc/view/AbstractMvcView.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AbstractMvcView.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AbstractMvcView.java index 8d80bb5e..20d28220 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AbstractMvcView.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/view/AbstractMvcView.java @@ -31,6 +31,7 @@ import org.springframework.binding.expression.EvaluationException; import org.springframework.binding.expression.Expression; import org.springframework.binding.expression.ExpressionParser; import org.springframework.binding.expression.ParserContext; +import org.springframework.binding.expression.beanwrapper.BeanWrapperExpressionParser; import org.springframework.binding.expression.support.FluentParserContext; import org.springframework.binding.expression.support.StaticExpression; import org.springframework.binding.mapping.MappingResult; @@ -78,6 +79,8 @@ public abstract class AbstractMvcView implements View { private ExpressionParser expressionParser; + private final ExpressionParser emptyValueExpressionParser = new BeanWrapperExpressionParser(); + private ConversionService conversionService; private Validator validator; @@ -482,7 +485,7 @@ public abstract class AbstractMvcView implements View { */ protected void addEmptyValueMapping(DefaultMapper mapper, String field, Object model) { ParserContext parserContext = new FluentParserContext().evaluate(model.getClass()); - Expression target = expressionParser.parseExpression(field, parserContext); + Expression target = emptyValueExpressionParser.parseExpression(field, parserContext); try { Class propertyType = target.getValueType(model); Expression source = new StaticExpression(getEmptyValue(propertyType));