Spring MVC 国际化

Spring MVC是通过实现了LocaleResolver的类来识别用户的locale

1. org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver
默认的locale resolver 他是通过提取request.header的'Accept-Language'的值来解析

2. org.springframework.web.servlet.i18n.SessionLocaleResolver

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.

3. org.springframework.web.servlet.i18n.CookieLocaleResolver

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.

你可能感兴趣的:(spring mvc)