Retorno "Genérico" de Action no Struts

Eae, galera!!

To fazendo um site onde o usuário em todas as páginas tem a opção para trocar o Locale desejado.
Essa troca tá sendo feita sem problemas.
O problema é que eu quero que o usuário não saia da página que ele estava antes de alterar o Locale.
Só to conseguindo fazer com que o usuário seja direcionado para um “path” específico (nesse meu código, o “Logon.do”).

To usando o Tomcat 5.5.20 e o struts 1.3.5!

O código do Locale eh esse:

public final class LocaleAction { private boolean isEmpty(String string) { return ((string == null) || (string.trim().length() == 0)); } public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String language = request.getParameter("language"); String country = request.getParameter("country"); Locale locale = getLocale(request); if ((!isEmpty(language)) && (!isEmpty(country))) { locale = new Locale(language, country); } else if (!isEmpty(language)) { locale = new Locale(language, ""); } HttpSession session = request.getSession(); session.setAttribute(Globals.LOCALE_KEY, locale); return mapping.findForward("success"); } }

No struts.xml, eu tenho:

<action path="/Locale" type="java.actions.LocaleAction"> <forward name="success" path="/Logon.do"/> </action>
E no JSP:

<html:link action="/Locale?language=pt_BR">Português</html:link> <html:link action="/Locale?language=en" useLocalEncoding="true">English</html:link>
Já tentei retornar “null”, mas a página de retorno fica em branco.
Já tentei colocar esse código no struts-config.xml,

<action path="/Locale" scope="request" parameter="Locale" type="org.apache.struts.actions.ForwardAction"> <set-property property="freeAccess" value="true"/> </action> <action path="/doLocale" scope="request" type="java.actions.LocaleAction"> <forward name="success" path="Locale"/> <set-property value="true" property="freeAccess"/> </action> mas o Tomcat lança uma excessão: java.lang.NoSuchMethodException: Bean has no property named freeAccess

Alguma idéia???

vc pode tentar :

[b]

public final class LocaleAction {

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

request.getRequestDispatcher(“minhapagina.jsp”).forward(request, response);
return null;
}

}
[/b]

Agora basta vc passar um parametro informado o valor da pagina desejada.

Perfeito!!! era isso q eu precisava!! :grin: :grin:

Além de colocar um JSP como target, é possivel colocar um action tbm, como foi no meu caso!

Valeu pela ajuda!!!