为什么我们需要在SpringAntribute之后立即将BindingResult放在SpringAttribute之后

时间:2016-12-28 09:36:16

标签: spring spring-mvc

来自org.springframework.web.method.annotation.ModelAttributeMethodProcessor

/**
 * Whether to raise a {@link BindException} on validation errors.
 * @param binder the data binder used to perform data binding
 * @param parameter the method argument
 * @return {@code true} if the next method argument is not of type {@link Errors}.
 */
protected boolean isBindExceptionRequired(WebDataBinder binder, MethodParameter parameter) {
    int i = parameter.getParameterIndex();
    Class<?>[] paramTypes = parameter.getMethod().getParameterTypes();
    boolean hasBindingResult = (paramTypes.length > (i + 1) && Errors.class.isAssignableFrom(paramTypes[i + 1]));

    return !hasBindingResult;
}

从上面的代码中我们可以得出这样的想法,即如果Error参数在模型属性之后不是立即的,则处理处理程序方法参数spring会引发Exception。请分享您的想法和想法。

提前致谢。

0 个答案:

没有答案