[I18N] Problème de changement de langue à la demande
:salut:
Comme le signale le lien suivant :
http://www.developpez.net/forums/showthread.php?t=15342
il ya une erreur dans la FAQ de struts http://java.developpez.com/faq/strut...18n#langswitchconcernant l'internationalisation et plus precisement concernant le changement de la langue à la demande. J'ai essayé donc de suivre les corrections signalé mais ça ne marche toujours pas. J'ai en fait une erreur quelque part que je n'arrive pas à voir :
Je poste mon code afin que quelqu'un puisse m'aider :
*** ma page jsp : J(ai rajouté les liens suivants :
Code:
1 2
| <html:link page="SwithLangAction.do?lang='fr'&cty='FR' " style="color:#000000">FR</html:link>
<html:link page="SwithLangAction.do?lang='en'&cty='US'" style="color:#000000">US</html:link> |
*** J'ai définit une classe SwithLangAction tels que indiqué dans la faq:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| public class SwithLangAction extends Action{
private Object source;
/** Creates a new instance of SwithLangAction */
public SwithLangAction() {
}
public ActionForward perform(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
//récupération des paramètres passés et de l'url du referer
String country = request.getParameter("cty");
String language = request.getParameter("lang");
String referer = request.getHeader("referer");
HttpSession session = request.getSession();
ActionForward forward = null;
// définition de la locale
setLocale( request, new Locale( language, country ) );
// redirection vers une page définie par défaut
if( referer ==null )
{
forward = (mapping.findForward("success"));
}
// redirection vers l'url du referrer.
else
{
forward = new RedirectingActionForward();
forward.setPath( referer );
}
return forward;
}
} |
*** le mapping de mon action dans struts-config :
Code:
1 2 3 4 5 6 7
| <action path="/SwithLangAction"
type="fr.edition.eni.action.SwithLangAction"
name="acceuilForm"
scope="request"
input="/acceuilForm.jsp">
<forward name="erreur" path="/erreur.jsp"></forward>
</action> |
Tomcat me sort comme erreur :
La ressource demandée (/WebApplication2SwithLangAction.do) n'est pas disponible.
je n'arrive pas à voir ce qui cloche :koi: