[JSP] Changement de langue
Bonjour,
Je veux faire le truc classique: quand on clique sur un lien/image on change de langue. Je dois gérer juste l'anglais et le français.
Je me suis inspiré de ce qui vait été fait sur le forum mais ça ne marche pas. :?
Voici ce que j'ait fait :
deux fichiers situés dans WEB-INF/classes/ :
Code:
1 2
| message_fr.properties
message_en.properties |
Dans le web.xml :
Code:
1 2 3 4
| <context-param>
<param-name>javax.servlet.jsp.jstl.fmt.fallbackLocale</param-name>
<param-value>fr</param-value>
</context-param> |
Dans struts-config.xml :
Code:
1 2 3
| <action path="/changelang" type="fr.ft.essai.langue.chgtLangue">
<forward name="succes" path="/inter.do" />
</action> |
Mon classe action :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public class chgtLangue extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws IOException,ServletException
{
HttpSession session = request.getSession(true);
Locale locale = (Locale)session.getAttribute(org.apache.struts.Globals.LOCALE_KEY);
//if(locale.toString()=="en")
//{
session.setAttribute(org.apache.struts.Globals.LOCALE_KEY, new java.util.Locale("en",""));
/*}
else
{
session.setAttribute(org.apache.struts.Globals.LOCALE_KEY, new java.util.Locale("en"));
}*/
return mapping.findForward("succes");
}
} |
Inter.jsp :
Code:
1 2 3 4 5 6 7 8 9 10 11
| <%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %>
<html>
<body>
<p>Inter</p>
<fmt:bundle basename="message">
<fmt:message key="nom"/>
</fmt:bundle>
<a href="/essai/changelang.do">chgt langue</a>
</body>
</html> |
C'est toujours le message français qui s'affiche.
Merci de votre aide