2011-08-17 57 views
0

我有一個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參數獲取的響應的語言環境。

你有什麼建議嗎?

謝謝:)

+0

下載[1] [1]:http://stackoverflow.com/questions/6543525/how-to-set-jsp-response-locale-in-jetty-7-8 –

回答