gpt4 book ai didi

java - Spring MVC 网络应用国际化

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:59:02 25 4
gpt4 key购买 nike

在使用 spring-MVC 编写的 Web 应用程序中,我希望允许用户通过单击链接来更改当前语言,该链接的文本是语言名称。

我已经设置了一个 messageSource 并使我所有的 jsp 页面都使用这个 messageSource 找到消息。目前,语言正在根据用户浏览器的区域设置而变化。

所以,我现在要做的是允许手动更改语言环境。

我发现类 SessionLocaleResolver 可以提供帮助,但我不知道如何在我的应用程序上下文文件(名称为 myAppName-servlet.xml)中设置它。

我已经定义了bean:

<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
</bean>

但是我应该把它插入到哪个 bean 中呢?此外,如何将与区域设置相关的 cookie 设置到用户 session 中?

最佳答案

我需要的所有信息都在我面前的文档中,位于:

http://static.springframework.org/spring/docs/2.5.x/reference/mvc.html#mvc-localeresolver

简而言之,我将以下xml改编为myAppName-servlet.xml

<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="siteLanguage"/>
</bean>

<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>

<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor"/>
</list>
</property>
<property name="mappings">
<value>/**/*.view=someController</value>
</property>
</bean>

现在,访问带有参数的任何页面就足够了:

siteLanguage=locale

更改整个站点的语言环境。

例如:http://localhost:8080/SBrowser/deliveries.html?siteLanguage=fr 在这里输入代码

关于java - Spring MVC 网络应用国际化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/726342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com