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 :

[STRUTS] INTERNATIONALISATION ==>> EXEMPLE


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 33
    Points : 20
    Points
    20
    Par défaut [STRUTS] INTERNATIONALISATION ==>> EXEMPLE
    !

    Je suis en train de développer une application qui devra être disponible en plusieurs langues.
    Pour cela, j'utilise 2 fichier de ressources :
    - ApplicationRessources.properties
    - ApplicationRessources_en.properties

    J'ai deja échangé quelques post qui m'ont pas mal aider mais pas totalement (http://www.developpez.net/forums/viewtopic.php?t=169606).

    Quelqu'un aurait-il une petite application qui utilise ce principe ? Est-ce que c'est possible de me faire parvenir quelques fragments de code (les fichiers .properties, la page jsp qui permet de choisir la langue et les autres fichiers directement liés à ça) ???

    Merci d'avance
    Vivre tue !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 90
    Points
    90
    Par défaut
    Pour l'internationnalisation, struts met la locale client en session. org.apache.struts.Globals.LOCALE_KEY est la string qui represente la locale en session.

    Si tu a un navigateur Français et un autre anglais, l'internationnalisation se fera toute seule si tu a déclarer un fichier de properties par défaut et un avec en extension la locale du navigateur anglais.

    Si tu veut tout faire sur un navigateur français, tu écrase simplement la variable struts en session qui représentente la locale, par ta nouvelle locale.
    par exemple
    si tu click sur un drapeau anglais, session.setAttribute(org.apache.struts.Globals.LOCALE_KEY, new java.util.Locale("en");

    si tu a fichier de properties avec l'entention en, alors tu devrait avoir tes libellé en anglais.

    Voila

    Si tu a des questions n'hésite pas.

    Bye

    Loïc

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    J'ai créer une page qui contient le code pour changer cet attribut qui défini la langue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
     
    <%
     
    session.setAttribute(org.apache.sturts.Globals.LOCAL_KEY, new java.util.Locale("en"));
     
    %>
    seulement j'ai une erreur quand je veux la lancer

    Citation Envoyé par JAVA Console
    org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.


    An error occurred between lines: 3 and 7 in the jsp file: /l.jsp

    Generated servlet error:
    D:\Apache Tomcat 4.0\webapps\cfc_addr\work\org\apache\jsp\l$jsp.java:61: Undefined variable, class, or package name: org
    session.setAttribute(org.apache.sturts.Globals.LOCAL_KEY, new java.util.Locale("en"));
    ^
    1 error, 1 warning

    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:285)
    at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:552)
    ...
    Voila, comme je suis pas un pro encore dans la matière, j'ai un peu de la peine a dechifrer ce bordel...

    Est-ce que tu peux encore un coup m'aider ?

    Merci

    ZDigital
    Vivre tue !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 90
    Points
    90
    Par défaut
    Ce que tu doit taper c'est :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <% 
     
    session.setAttribute(org.apache.struts.Globals.LOCAL_KEY, new java.util.Locale("en")); 
     
    %>
    Attention tu as fait une faute de frappe c'est struts et non pas sturts

    Bye

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    J'ai écrit struts juste, j'ai fait la faute en recopiant sur le forum...

    Voila un peu plus de precision sur l'erreur:

    org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.


    An error occurred between lines: 3 and 7 in the jsp file: /l.jsp

    Generated servlet error:
    D:\Apache Tomcat 4.0\webapps\cfc_addr\work\org\apache\jsp\l$jsp.java:61: No variable LOCAL_KEY defined in class org.apache.struts.Globals.
    session.setAttribute(org.apache.struts.Globals.LOCAL_KEY, new java.util.Locale("en"));
    ^
    1 error, 1 warning
    Avec le ^ sur le . entre Globals et LOCAL_KEY

    est-ce possible que ma page JSP ne trouve pas le package de struts ??? Ca m'étonnerai parce que tout le reste de l'application fonctionne et si je met mon navigateur en englais ça marche
    Vivre tue !

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 90
    Points
    90
    Par défaut
    Déja Vérifie que cette variable existe bien ton struts.jar

    si oui c'est que t'as un problème de classpath dans la jsp je pense...

    Salut

    Loïc

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par ZeKiD
    Je crois que l'on a déjà répondu à cette question.
    Le sujet a déjà été posé le vendredi 19 par la même personne en plus.
    Quand est il du problème.
    Le problème est décrit plus haut
    Vivre tue !

  8. #8
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Faute de frappe : c'est LOCALE_KEY

    a++

  9. #9
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Points : 356
    Points
    356
    Par défaut
    Désolé j'avais pas vu.
    Tu n'arrives pas à t'en sortir avec ce que l'on t'a donné.

    Exemple rapide alors :
    Application.properties
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monTitre=Voici un titre français
    Application_en.properties
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monTitre=Here's my english title
    test.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <%// Mes tags struts%>
    <html>
    <body>
     <bean:message key="monTitre"/>
    </body>
    </html>
    Ensuite si tu veux changer ta langue en anglais , tu appliques :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.setAttribute(org.apache.struts.Globals.LOCAL_KEY, java.util.Locale.EN);
    dans une de tes JSP.

    Exemple :


    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
     
    <%// Mes tags struts%>
     
    <%
     
    String maLangue = request.getParameter("maLangue");
    if(maLangue!=null && maLangue.equals("en")){
      session.setAttribute(org.apache.struts.Globals.LOCAL_KEY, java.util.Locale.EN);
    }
     
    %>
     
    <html>
    <body>
     <bean:message key="monTitre"/>
    </body>
    </html>

    Normalement avec çà cela devrait être bon.
    La langue dépendant du navigateur si celle ci n'est pas spécifié.
    Les clés sont obligatoire dans ton Application.properties, car c'est là où il va chercher les valeurs, si la clé n'existe pas dans la langue voulue.

    Voili, voilou,
    Tiens moi au courant

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    YES...

    C'est bon, ça joue...

    Ben merci ! et à charge de revanche... (Quand j'aurait fini ce travail de diplome et que j'aurais fini le site d'e-Banking de la Banque Mondiale en Struts j'arriverai peut etre a vous aider !!!)


    :trouve:
    Vivre tue !

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Points : 90
    Points
    90
    Par défaut
    cool, si ton problème est résolu, marque ton post résolu stp

    Bye

    Loïc

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

Discussions similaires

  1. Struts Internationalisation in scriptlet
    Par jilly dans le forum Général Java
    Réponses: 0
    Dernier message: 12/05/2010, 15h55
  2. Css sur les Struts forms (bouton par exemple)
    Par s-ehtp dans le forum Struts 1
    Réponses: 9
    Dernier message: 06/08/2009, 13h10
  3. [Struts-Layout] datagrid fonctions exemple
    Par khaoula_14_05 dans le forum Struts 1
    Réponses: 8
    Dernier message: 05/12/2008, 17h12
  4. [Struts] Internationalisation
    Par kayoups dans le forum Struts 1
    Réponses: 2
    Dernier message: 01/09/2004, 16h19

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