我使用这个简单的配置
<beans:bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<beans:property name="basename" value="classpath:localization/messages" />
<beans:property name="defaultEncoding" value="UTF-8" />
</beans:bean>
<interceptors>
<beans:bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<beans:property name="paramName" value="lang" />
</beans:bean>
</interceptors>
<beans:bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<beans:property name="defaultLocale" value="en" />
<beans:property name="cookieMaxAge" value="100000" />
</beans:bean>
效果很好,但是如果有人将 url 发送给其他人怎么办?这仅适用于客户端浏览器,如果用户更改本地化,它将设置一个 cookie。我已经看到很多网站在 url 中的第一个斜杠(例如nette.org/en/about
)之后进行了本地化。当有人发送此链接时,它将根据 url 解析本地化。在 spring 框架中是否存在任何简单的解决方案来做到这一点?以某种方式在 url 中映射这个地方?