Смена локали в Struts 2

 
0
 
Java
ava
Pawl | 20.01.2013, 22:04
Доброго времени суток.
Решил поковырять Struts 2 и, собственно, споткнулся на сабже. Примеры, что я находил, достаточно древние либо неработающие или неподходящие. На их основе сварганил нечто также неработающее. Но, может быть, я на верном пути, и не хватает последнего штриха для полного счастья? Посмотрите, пожалуйста, мой код, и подскажите хотя-бы, куда мне копать дальше:
struts.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="struts.devMode" value="true" />
    <constant name="struts.i18n.reload" value="true" />
    <constant name="struts.custom.i18n.resources" value="local" />
    <package name="hello"  namespace="/" extends="struts-default">
        <action name="hello"
                class="study.struts2.HelloWorldAction"
                method="execute">
            <result name="success">/HelloWorld.jsp</result>
            <result name="input">welcome.jsp</result>
        </action>
    </package>
    <package name="default" namespace="/" extends="struts-default">
        <interceptors>
            <interceptor name="i18n" class="com.opensymphony.xwork2.interceptor.I18nInterceptor"/>
        </interceptors>
        <action name="locale" class="study.struts2.LocaleAction" method="execute">
            <interceptor-ref name="i18n"/>
            <result name="SUCCESS">/welcome.jsp</result>
        </action>
    </package>
</struts>

LocaleAction

package study.struts2;

public class LocaleAction {
    public String execute() {
        return "SUCCESS";
    }
}

кусок кода jsp, который должен отвечать за смену локали

    <s:url id="localeEN" action="locale">
        <s:param name="request_locale">en</s:param>
    </s:url>
    <s:a href="%{localeEN}">English</s:a>

    <s:url id="localeRU" action="locale">
        <s:param name="request_locale">ru</s:param>
    </s:url>
    <s:a href="%{localeRU}"><s:text name="lang_ru"/></s:a>

Как видно, тут есть ссылки для смены локали, так вот, они не работают. Т. е., если их нажать, страница перегрузится, но локаль не поменяется.
Пока не знаю, что делать, поэтому буду благодарен за любую помощь.
Ответы (1)
ava
Pawl | 21.01.2013, 11:15 #
Вопрос снят. Вот хороший пример.
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
ava  Pawl
advanced
Отправить