国际化的原理是什么?
分为三大步
(1)本地化信息获取
(2)数据获取
(3)格式化
1)本地化信息获取
Spring MVC的DispatcherServlet类会在initLocaleResolver方法中查找一个locale resolver,如果没有找到就会用默认的AcceptHeaderLocaleResolver类。locale resolver会去根据请求Request设置当前的locale信息。除了resolver类,还可以定义拦截器去设置locale信息。
2)数据获取
得到本地化信息后,就可以从相应的properties文件中获取Spring MVC的数据处理定义了一个接口MessageSource,该接口定义了数据获取的方法
3)格式化
第(2)步已经获取到了数据,有些时候数据获取到之后可以直接展示,但是如果涉及到时间、数字、金额、动态文本等数据时,又需要额外做下处理了,因为本身这些数据就是本地化敏感的,这时就需要对相应的数据进行格式化操作。