problème avec l'internationalisation
salut tout le monde,
je suis un débutant en Struts et je veux faire l'internationalisation dans mon application grâce à deux langues(francais,anglais), pour cela j'ai suivi les étapes décrites en FAQ de struts et voila j'ai commencé par un test simple et voila mon travail:
pour les fichiers de ressources j'ai deux fichiers:
pour la langue francais sera le fichier par defaut qui s'applle Ressources.properties comme ceci:
Code:
1 2
|
default.welcome=bonjour |
et pour l'autre langue(anglais) qui s'applle Ressources_en.properties
le fichier de configuration est le suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
</form-beans>
<action-mappings>
<action path="/switch" input="/index.jsp"
type="struts.actions.SwithLangAction">
<forward name="succes" path="/index.jsp" />
</action>
</action-mappings>
<message-resources parameter="struts.ressources_messages.Ressources" />
</struts-config> |
et dans la page jsp index.jsp:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html:html locale="true">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<html:link page='/switch.do?lang=fr&cty=FR'>FR</html:link>
<html:link page='/switch.do?lang=en&cty=EN'>EN</html:link>
<bean:message key="default.welcome"/>
</body>
</html:html> |
et enfin mon Action:
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 39 40 41 42 43 44 45 46 47 48 49 50
|
package struts.actions;
import java.io.IOException;
import java.util.Locale;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.RedirectingActionForward;
public class SwithLangAction extends Action {
public ActionForward execute(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;
}
} |
après l'exécution je n'obtient acune chose
je ne sais ce qu'il faut faire et donc je besion à votre aide
et merci d'avance