IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

Changement langue Struts


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Par défaut Changement langue Struts
    Bonjour à tous.

    Je cherche ç changer la langue de mon application, mais je n'y arrive pas. Je me suis appuyé sur cette page http://javaweb.developpez.com/faq/struts/?page=i18n mais mon appli n'appel pas la méthode execute(). J'ai beau chercher sur le net je ne trouve pas se qu'il me manque. Quelqu'un pourrait-il m'aider?

    Voici mes sources :

    Mon jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html:form action="indexForm" focus="language">
    	<table border="0" align="center">
    		<!-- Bouton de passage en langue française -->
    		<html:link page='/index.jsp?lang=fr&cty=FR' styleClass="action">
    			<html:img page="/images/FR.png" />
    		</html:link>
    		<!-- Bouton de passage en langue anglaise -->
    		<html:link page='/index.jsp?lang=en&cty=EN' styleClass="action">
    			<html:img page="/images/EN.png" />
    		</html:link>
    	</table>
    	<br>
    </html:form>
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public class IndexAction extends Action {
     
        public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
            // 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");
            ActionForward forward = null;
     
            // définition de la locale
            this.setLocale(request, new Locale(language, country));
     
            // redirection vers une page définie par défaut
            if (referer == null) {
                forward = (mapping.findForward("home"));
            }
            // redirection vers l'url du referrer.
            else {
                forward = new RedirectingActionForward();
                forward.setPath(referer);
            }
     
            return forward;
        }
    }
    Mon struts-config :
    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
      <form-beans type="org.apache.struts.action.ActionFormBean">
        <form-bean name="identificationForm" type="Struts1.IdentificationForm" />
        <form-bean name="indexForm" type="Struts1.IndexForm" />
      </form-beans>
     
      <action-mappings type="org.apache.struts.action.ActionMapping">
        <action path="/identificationForm" type="Struts1.IdentificationAction"
                name="identificationForm" scope="request" validate="true" parameter="operation" input="/index.jsp">
          <forward name="succes" path="/identification.jsp" redirect="false" />
          <forward name="echec" path="/index.jsp" redirect="false" />
        </action>
        <action path="/indexForm" type="Struts1.IndexAction"
                name="indexForm" scope="request" validate="false" input="/index.jsp">
          <forward name="home" path="/index.jsp" redirect="false" />
        </action>
      </action-mappings>
     
      <message-resources parameter="ApplicationResources" />
    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Il faudrait que tes liens renvoient sur le contrôleur.
    Inutile d'utiliser une balise <html:form>, utilise l'attribut "forward" (il me semble, je n'utilise pas) de <html:link>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Par défaut
    Bonjour Onutterlin et merci pour ta réponse.

    Je suis debutant en struts et je ne comprends pas trop ton message. Pourrais-tu détailler un peu plus?

    Merci d'avance.

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    que je sache, la balise <html:link> génère un lien (type anchor html).
    donc, inutile d'avoir un formulaire, il n'y a pas de saisie ici.
    ta balise <html:link> doit juste appeler ton contrôleur struts qui lui affichera la page index.jsp en retour.
    pour moi, mais je peux me tromper parce que je n'utilise pas les balises <html:...>, ta balise devrait ressembler à ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:link forward='./indexForm.do?lang=en&cty=EN' styleClass="action">
    ...
    </html:link>
    (à moins que ce ne soit <html:link action="...">)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Par défaut
    Pour etre franc, je n'ai absoluement rien compris (sur le plan technique j'entends) mais en mettant

    <html:link action='./indexForm.do?lang=en&cty=EN' styleClass="action">

    ça marche!!

    Merci beaucoup!!

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    pour faire simple, tu demandais de ré-afficher la page index.jsp en lui passant les paramètres lang=en et cty=EN (ce dont la page se fiche) alors qu'il fallait appeler l'action struts indexForm.do pour faire le changement de langue avant de ré-afficher la page index.jsp.

    si ce n'est pas plus clair, je pense (sans vouloir te vexer) qu'il te manque trop de bases et que tu devrais lire un tutoriel sur struts.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Struts /hibernate - changement de langue.
    Par dums2000 dans le forum Struts 1
    Réponses: 0
    Dernier message: 10/05/2011, 11h56
  2. [WD-2002] Changement Langue Office Word Excel
    Par Angeldu74 dans le forum Word
    Réponses: 0
    Dernier message: 22/09/2009, 19h07
  3. [Langue Clavier] Comment détecter le changement de la langue ?
    Par Fares BELHAOUAS dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 30/09/2004, 19h26
  4. Réponses: 2
    Dernier message: 03/03/2004, 10h44
  5. Changement de langue dynamique (D6 et outils de traduction)
    Par agon dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/09/2002, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo