Spring MVC是通过实现了LocaleResolver的类来识别用户的locale
[b]1. org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver[/b]
默认的locale resolver 他是通过提取request.header的'Accept-Language'的值来解析
[b]2. org.springframework.web.servlet.i18n.SessionLocaleResolver[/b]
Another option of resolving locales is by SessionLocaleResolver. It resolves locales by inspecting
a predefined attribute in a user’s session. If the session attribute doesn’t exist, this locale
resolver will determine the default locale from the accept-language HTTP header.
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="en" />
</bean>
You can set the defaultLocale property for this resolver in case the session attribute
doesn’t exist. Note that this locale resolver is able to change a user’s locale by altering the
session attribute that stores the locale.
[b]3. org.springframework.web.servlet.i18n.CookieLocaleResolver[/b]
You can also use CookieLocaleResolver to resolve locales by inspecting a cookie in a user’s
browser. If the cookie doesn’t exist, this locale resolver will determine the default locale from
the accept-language HTTP header.
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver" />
The cookie used by this locale resolver can be customized by setting the cookieName and
cookieMaxAge properties. The cookieMaxAge property indicates how many seconds this cookie
should be persisted. The value -1 indicates that this cookie will be invalid after the browser is
closed.
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="cookieName" value="language" />
<property name="cookieMaxAge" value="3600" />
<property name="defaultLocale" value="en" />
</bean>
You can also set the defaultLocale property for this resolver in case the cookie doesn’t
exist in a user’s browser. This locale resolver is able to change a user’s locale by altering the
cookie that stores the locale.
[b]1. org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver[/b]
默认的locale resolver 他是通过提取request.header的'Accept-Language'的值来解析
[b]2. org.springframework.web.servlet.i18n.SessionLocaleResolver[/b]
Another option of resolving locales is by SessionLocaleResolver. It resolves locales by inspecting
a predefined attribute in a user’s session. If the session attribute doesn’t exist, this locale
resolver will determine the default locale from the accept-language HTTP header.
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="en" />
</bean>
You can set the defaultLocale property for this resolver in case the session attribute
doesn’t exist. Note that this locale resolver is able to change a user’s locale by altering the
session attribute that stores the locale.
[b]3. org.springframework.web.servlet.i18n.CookieLocaleResolver[/b]
You can also use CookieLocaleResolver to resolve locales by inspecting a cookie in a user’s
browser. If the cookie doesn’t exist, this locale resolver will determine the default locale from
the accept-language HTTP header.
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver" />
The cookie used by this locale resolver can be customized by setting the cookieName and
cookieMaxAge properties. The cookieMaxAge property indicates how many seconds this cookie
should be persisted. The value -1 indicates that this cookie will be invalid after the browser is
closed.
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="cookieName" value="language" />
<property name="cookieMaxAge" value="3600" />
<property name="defaultLocale" value="en" />
</bean>
You can also set the defaultLocale property for this resolver in case the cookie doesn’t
exist in a user’s browser. This locale resolver is able to change a user’s locale by altering the
cookie that stores the locale.

本文介绍了SpringMVC中实现国际化的方法,包括通过分析HTTP请求头、会话和Cookie来确定用户的语言偏好。提供了三种实现方式:AcceptHeaderLocaleResolver、SessionLocaleResolver及CookieLocaleResolver,并解释了各自的配置和使用场景。
943

被折叠的 条评论
为什么被折叠?



