Я новичок в Java и Struts2.Мне нужно изменить локаль, когда пользователь нажимает на текст на странице jsp. Мне нужно сделать это, установив атрибут сеанса с помощью класса действия
Jsp: (так это будет выглядеть примерно так)
<richtext>[url="switchLang?lang=de"]Deutsch[/url]</richtext>
, где "switchLang" сбрасывает язык в сеансе пользователя.
SwitchLangAction.java:
public class SwitchLangAction extends ActionSupport implements SessionAware {
Map<String, Object> session;
@Override
public String execute(){
session.put("WW_TRANS_I18N_LOCALE", "de");
return SUCCESS;
}
@Override
public void setSession(Map<String, Object> session) {
this.session=session;
}
}
Мне нужно получить объект сеанса в другом файле .javaи получить локаль.Как мне это сделать?
class test{
// I need to fetch the locale here
}
Что мне делать в классе switchlang.java ???Правильно ли указано ниже: switchLang.java?
Файл footer.jsp является частью каждой страницы сайта.Мне нужно перезагрузить текущую страницу с изменениями языка. Как мне это сделать?
footer.jsp:
<richtext>
[url="switchLang?request_locale=de"]Deutsch[/url]
[br]
[url="switchLang?request_locale=en"]English[/url]
</richtext>
switchLangAction.java:
public class SwitchLangAction extends ActionSupport implements SessionAware {
Map<String, Object> session;
@Override
public String execute(){
session.put("WW_TRANS_I18N_LOCALE", "de");
return SUCCESS;
}
@Override
public void setSession(Map<String, Object> session) {
this.session=session;
}
}
Struts.xml: // Как перезагрузить ту же страницу?
<action name="switchLang" method="execute" class="com.mobile.action.SwitchLangAction">
<result name="success" type="redirectAction">?????</result>
</action>