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:
et pour l'autre langue(anglais) qui s'applle Ressources_en.properties
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2default.welcome=bonjour
le fichier de configuration est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2default.welcome=hello
et dans la page jsp index.jsp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 enfin mon Action:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
après l'exécution je n'obtient acune chose
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; } }
je ne sais ce qu'il faut faire et donc je besion à votre aide
et merci d'avance
Partager