springMVC-错误消息的显示和国际化
显示:在页面添加<form:errors path="*">会把错误消息集中显示在一块
在页面添加<form:errors path="lastname">可以显示在对应字段的后面,分开显示
提示消息的国际化
* 每个属性在数据绑定和数据校验发生错误时,都会生成一个对应的Fielderror
对象。
* 当一个属性校验失败后,校验框架会为该属性生成4个消息代码,这些代码
以校验注解类名为前缀,结合modleAttribute。属性名及属性类型名生成多
个对应的消息代码:例如User类中的password属性标准了一个@pattern注解
,当该属性值不满足@pattern所定义的规则时,就会产生一下4个错误代码:
Pattern.user.password
Pattern.password
Pattern.java.lang.String
Pattern
* 当使用Spring MVC标签显示错误消息时,SpringMVC会查看WEB上下文
是否装配了对应的国际化消息,如果没有,则显示默认的错误消息,否则使用国际化消息
写例如
Past.product.productionDate=^^past time
Past是Product的@Past
product是Product类的类名小写
productionDate是Product的属性
然后在配置国际化资源文件
<!--配置国际化资源文件 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="i18n"/>
</bean>
* 若数据类型转换或数据格式转换时发生错误,或该
有的参数不存在,或调用处理方法时发生错误,都会在隐含模型中创建
错误消息。其错误代码前缀说明如下
- required:必要的参数不存在,如@RequiredParam("param1")标注
了一个入惨,但是该参数不存在
-typeMismatch:在数据绑定时,发生数据类型不匹配的问题
-methodInvocation:Spring MVC在调用处理方法时发生了错误
例如
typeMismatch.product.productionDate=^^past time