1、编写国际化的文件
1.1、编写properties文件,例如:errors_ch_CN.properties、errors_en_US.properties
1.2、编写文件内容时需要注意key=value的key的取值,需要校验的字段发生错误都会有自己的错误代码,国际化文件错误消息必须对应一个错误代码,错误代码可以通过BindingResult.getFieldErrors()获取所有发生错误的字段,遍历List<FieldError>获取的code错误代码,例如Email发生错误的code代码如下:
codes [
Email.person.email,
Email.email,
Email.java.lang.String,
Email];
1.3、四种错误代码从上到下越来越模糊匹配,配置文件有多个,精确优先
codes[
校验规则.隐含模型中对象的key.对象的属性
校验规则.属性名
校验规则.属性类型
校验规则]
1.4、配置完国际化文件后需要让SpringMVC管理配置文件,id必须是messageSource
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="errors"></property>
</bean>
2、高级国际化
2.1、动态传入消息参数
Length.java.lang.String = length incorrect {0} {1} {2}。。
{0}:永远是当前属性名
{1}、{2}匹配注解上参数,大小写顺序
2.2、注释上直接表明错误消息
注释上有个属性是message,直接写上错误信息即可,缺点不能国际化
@Min(value = 18,message = "年龄不可小于18")