Я знаю, что могу вызвать URL с параметром request_locale, но это не продлится долго. Может быть, хранить его в печенье? Что я не знаю, как это сделать.
После многих часов поиска я нашел:
- Низкое количество неработающих ссылок в API Apache
- Настройкаязыковой стандарт в атрибуте сеанса "org.apache.struts.action.LOCALE"
- ... или "request_locale"
- ... или "request_cookie_locale"
- ... или "WW_TRANS_I18N_LOCALE"
- Установка языкового стандарта в ActionContext.getContext ()
- Что-то о перехватчиках, из-за которых мое приложение вызывает исключения, поэтому я не знаю, следует ли мне продолжать ...
Там есть смесь Struts 1 и Struts 2, которая не облегчает задачу ...
Вот что у меня есть:
В Конфигурация XML :
<action name="languageSelection" class="changeSelectionAction">
<result name="input" type="redirect">${redirectUrl}</result>
</action>
Я решил использовать «Ввод», чтобы вернуться на предыдущую страницу после того, как пользователь выбрал язык. Переменная перенаправления определена в моем классе действий.
На веб-странице :
<webwork:url id="url" action="languageSelection">
<webwork:param name="lang">fr</webwork:param>
</webwork:url>
<webwork:a href="%{url}">French</webwork:a>
Это отправляет "lang = fr", который я могу прочитать в своем действииClass.
В Action Class у меня есть:
HttpServletRequest request = ServletActionContext.getRequest();
String refererUrl = ServletActionContext.getRequest().getHeader("Referer"); // gives me the source page so I can go back to it.
setRedirectUrl(refererUrl);
String[] langs = request.getParameterValues("lang"); // getting the language the user selected
... сопровождается большим количеством мусора, который не работает, и некоторыми оскорблениями длязакомментированный компилятор.
Я не лучший веб-разработчик, поэтому любые основные веб-советы будут приветствоваться.