Spring MVC读书笔记--SimpleFormcontroller的Error处理
Spring MVC中对错误有二级的绑定
1. 和字段域进行绑定
产生方法:void rejectValue(String field, String errorCode, Object[] errorArgs, String defaultMessage);
显示方法:<form:errors path="field" cssClass="fieldError" />
2.Golbal Error
产生方法:public void reject(String errorCode, Object[] errorArgs, String defaultMessage) ;
与上面的差别就在于一个field了。
显示方法:<form:errors path="*" cssClass="error"></form:errors>
Error的生成地方可以有很多。
如Validate等等,onBind其实都可以。
但当controller执行到onSubmit的时候,就不能简单使用errros.rejectValue了。
有二个方法:
1.使用message吧,在session或request中加message;
2.还是使用Error,谁让他就是一个Error呢
- String[] err={user.getUsername(),user.getEmail()};
- errors.reject("user.duplicate",err," User {0} or {1} is duplicate ");
- Map modal=errors.getModel();
- modal.put("user", new User());
- return new ModelAndView(getFormView(), modal);