Skip to content

Commit

Permalink
Use fixed parser for empty value binding expressions
Browse files Browse the repository at this point in the history
  • Loading branch information
rstoyanchev committed May 31, 2017
1 parent dcd569b commit 57f2ccb
Showing 1 changed file with 4 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -482,7 +485,7 @@ protected void addDefaultMappings(DefaultMapper mapper, Set<String> parameterNam
*/
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));
Expand Down

0 comments on commit 57f2ccb

Please sign in to comment.