Весенняя локаль: не получается заставить перехватчики работать - PullRequest
0 голосов
/ 17 августа 2011

У меня есть файл jsp с 2 ссылками, которые устанавливают для свойства 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 Ответ

0 голосов
/ 23 августа 2011

Сравните ваш код с проектом, который вы можете загрузить с MVC Упрощения весной 3.0

https://src.springframework.org/svn/spring-samples/mvc-basic/trunk/

...