fixed npe caused by mvc view factory creator
This commit is contained in:
@@ -69,7 +69,7 @@ public class MvcViewFactoryCreator implements ViewFactoryCreator, ApplicationCon
|
||||
|
||||
private String fieldMarkerPrefix;
|
||||
|
||||
private MessageCodesResolver messageCodesResolver;
|
||||
private MessageCodesResolver messageCodesResolver = new WebFlowMessageCodesResolver();
|
||||
|
||||
/**
|
||||
* Create a new Spring MVC View Factory Creator.
|
||||
|
||||
@@ -55,7 +55,6 @@ import org.springframework.webflow.execution.FlowExecutionKey;
|
||||
import org.springframework.webflow.execution.RequestContext;
|
||||
import org.springframework.webflow.execution.View;
|
||||
import org.springframework.webflow.validation.ValidationHelper;
|
||||
import org.springframework.webflow.validation.WebFlowMessageCodesResolver;
|
||||
|
||||
/**
|
||||
* Base view implementation for the Spring Web MVC Servlet and Spring Web MVC Portlet frameworks.
|
||||
@@ -88,7 +87,7 @@ public abstract class AbstractMvcView implements View {
|
||||
|
||||
private BinderConfiguration binderConfiguration;
|
||||
|
||||
private MessageCodesResolver messageCodesResolver = new WebFlowMessageCodesResolver();
|
||||
private MessageCodesResolver messageCodesResolver;
|
||||
|
||||
/**
|
||||
* Creates a new MVC view.
|
||||
@@ -498,8 +497,7 @@ public abstract class AbstractMvcView implements View {
|
||||
String model = getModelExpression().getExpressionString();
|
||||
String field = error.getMapping().getTargetExpression().getExpressionString();
|
||||
Class fieldType = error.getMapping().getTargetExpression().getValueType(getModelObject());
|
||||
String[] messageCodes = messageCodesResolver.resolveMessageCodes(error.getCode(), model, field,
|
||||
fieldType);
|
||||
String[] messageCodes = messageCodesResolver.resolveMessageCodes(error.getCode(), model, field, fieldType);
|
||||
return new MessageBuilder().error().source(field).codes(messageCodes).resolvableArg(field).defaultText(
|
||||
error.getCode() + " on " + field).build();
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ import org.springframework.webflow.expression.DefaultExpressionParserFactory;
|
||||
import org.springframework.webflow.test.MockFlowExecutionKey;
|
||||
import org.springframework.webflow.test.MockRequestContext;
|
||||
import org.springframework.webflow.test.MockRequestControlContext;
|
||||
import org.springframework.webflow.validation.WebFlowMessageCodesResolver;
|
||||
|
||||
public class MvcViewTests extends TestCase {
|
||||
|
||||
@@ -222,6 +223,7 @@ public class MvcViewTests extends TestCase {
|
||||
org.springframework.web.servlet.View mvcView = new MockView();
|
||||
AbstractMvcView view = new MockMvcView(mvcView, context);
|
||||
view.setExpressionParser(DefaultExpressionParserFactory.getExpressionParser());
|
||||
view.setMessageCodesResolver(new WebFlowMessageCodesResolver());
|
||||
view.processUserEvent();
|
||||
assertFalse(view.hasFlowEvent());
|
||||
view.render();
|
||||
@@ -407,6 +409,7 @@ public class MvcViewTests extends TestCase {
|
||||
org.springframework.web.servlet.View mvcView = new MockView();
|
||||
AbstractMvcView view = new MockMvcView(mvcView, context);
|
||||
view.setExpressionParser(DefaultExpressionParserFactory.getExpressionParser());
|
||||
view.setMessageCodesResolver(new WebFlowMessageCodesResolver());
|
||||
view.processUserEvent();
|
||||
assertFalse(view.hasFlowEvent());
|
||||
assertTrue(bindBean.validationMethodInvoked);
|
||||
@@ -431,6 +434,7 @@ public class MvcViewTests extends TestCase {
|
||||
org.springframework.web.servlet.View mvcView = new MockView();
|
||||
AbstractMvcView view = new MockMvcView(mvcView, context);
|
||||
view.setExpressionParser(DefaultExpressionParserFactory.getExpressionParser());
|
||||
view.setMessageCodesResolver(new WebFlowMessageCodesResolver());
|
||||
view.processUserEvent();
|
||||
assertFalse(view.hasFlowEvent());
|
||||
assertFalse(bindBean.validationMethodInvoked);
|
||||
|
||||
Reference in New Issue
Block a user