国际化文件一般存放在classpath目录下,如图:
默认情况下,SpringMVC会根据请求头的Accept-Language参数判断客户端的本地化类型。
当接收到请求时,SpringMVC会在上下文中查找一个本地化解析器(LocalResolver),找到后使用它获取请求所对应的本地化类型信息。
SpringMVC还允许装配一个动态更改本地化类型的拦截器(LocaleChangeInterceptor),通过在请求中指定locale参数(locale=zh_CN)就可以控制单个请求的本地化类型。
SpringMVC提供了常用的三种LocaleResolver:AcceptHeaderLocaleResolver、CookieLocaleResolver、SessionLocalResolver。
==》AcceptHeaderLocalResolver(默认):根据HTTP请求头Accept-Language参数确定本地化类型;
==》CookieLocaleResolver:根据指定的cookie值确定本地化类型,cookie的默认key为org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE;
==》SessionLocalResolver:根据指定的session值确定本地化类型,session的默认key为org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE。SessionLocaleResolver和LocaleChangeInterceptor工作原理:
Spring MVC国际化
最新推荐文章于 2022-12-03 11:53:59 发布