我有一個jsp文件,其中有兩個鏈接,將屬性lang設置爲en或de。
我還有一條消息,需要用相應的語言(英語或德語)進行更改。
我有2個屬性文件的代碼。我製作了語言環境的配置文件。
我已經嘗試過類和屬性的不同組合,但我永遠無法獲得更改的消息。
春天的語言環境:無法讓攔截器工作
這是我的代碼:
JSP文件:
Language : <a href="?lang=en">English</a>|<a href="?lang=de">German</a>
<h3>
<spring:message code="test" text="default text" />
</h3>
Current Locale : ${pageContext.response.locale} ---- ${pageContext.request.locale}
applicationContext.locale.xml文件:(這在applicationContext.xml中導入)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="WEB-INF/locale/welcome" />
<property name="cacheSeconds" value="-1" />
<property name="defaultEncoding" value="UTF-8"/>
</bean>
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang" />
</bean>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="defaultLocale" value="en"/>
</bean>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor"/>
</list>
</property>
</bean>
我有2個屬性文件: welcome.properties和welcome_de.properties。兩者都有一個代碼測試和不同的值。
問題是,如果我設置默認的區域設置,它將始終採用該設置。如果我沒有設置它,語言環境解析器將採用請求的語言環境。
我無法設置從url參數獲取的響應的語言環境。
你有什麼建議嗎?
謝謝:)
下載[1] [1]:http://stackoverflow.com/questions/6543525/how-to-set-jsp-response-locale-in-jetty-7-8 –