public class MudaLinguaAction extends Action {
protected Locale getLocale(HttpServletRequest request) {
Locale result = null;
HttpSession session = request.getSession();
if (session!=null) {
result = (Locale) session.getAttribute(Action.LOCALE_KEY);//deprecaded?
if (result == null) result = Locale.getDefault();
} else {
result = Locale.getDefault();
}
return result;
} // end getLocale()
protected void setLocale(
HttpServletRequest request,
Locale locale) {
HttpSession session = request.getSession(true);
session.setAttribute(Action.LOCALE_KEY,locale);//deprecated o q isso?
} // end setLocale()*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String lingua =request.getParameter("lingua");
Locale locale = new Locale(lingua);
System.out.println("Mudando o idioma para " + locale);
setLocale(request,locale);
return mapping.findForward("ok");
}
}
eu ja mapiei o struts config para pos dois properties
ApplicationResources_en.properties
ApplicationResources_pt.properties
na jsp tá assim <a href =struts1/mudaLingua.do?lingua=pt>
só que nao funciona nem fundendo ele passa o parametro mas
nao muda a lingua o que podera ser se alguem puder ajudar
o mais rapido possivel ha como faco para chamar esse metodo
getLocale ai da minha action grato