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

Tomcat et TomEE Java Discussion :

[Tomcat]Où mettre les fichiers properties dans une appli web


Sujet :

Tomcat et TomEE Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2005
    Messages : 8
    Points : 4
    Points
    4
    Par défaut [Tomcat]Où mettre les fichiers properties dans une appli web
    Bonjour,

    J'ai realisé une applic web (JSP,Servlet...) sous sun one studio. j'ai une balise (personnalisée) sans corps qui realise un affichage dans la langue choisie précédement. Cela fonctionne en utilisant la technique des bundles.
    En local (tomcat de sun one) tout fonctionne parfaitement... Voici le code de la balise :

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
     public class GoTag extends BodyTagSupport 
    {   
        private String cible;    
        private boolean arret;
        private static final String NOM_GEN_FICHIER_PROPERTIES = "Languages";
     
        public GoTag() {
            super();
            arret = false;
        }
     
       (.......)
     
        public void writeTagBodyContent(JspWriter out, BodyContent bodyContent) throws IOException {
            String local_Langue="fr";
            String local_Pays="FR";
     
            if(pageContext.getAttribute("LangueChoisie").equals("Français"))
            {
                        local_Langue = "fr";
                        local_Pays = "FR";
            }
            else
            {
                if(pageContext.getAttribute("LangueChoisie").equals("English"))
                {
                        local_Langue = "us";
                        local_Pays = "US";
                }
                else
                {
                    if(pageContext.getAttribute("LangueChoisie").equals("Nederlands"))
                    {
                        local_Langue = "nl";
                        local_Pays = "NL";
                    }
                }
            }       
            Locale localCourant = new Locale(local_Langue,local_Pays);
            ResourceBundle res = ResourceBundle.getBundle(NOM_GEN_FICHIER_PROPERTIES,localCourant);
            try
            {
                pageContext.getOut().println(res.getString(cible));
            }
            catch(IOException ioe)
            {}
            bodyContent.writeOut(out);
            bodyContent.clearBody();
        }
     
        public void handleBodyContentException(Exception ex) throws JspException {
            throw new JspException("error in GoTag: " + ex);
        }   
        public int doAfterBody() throws JspException {
            try {
                BodyContent bodyContent = getBodyContent();
                JspWriter out = bodyContent.getEnclosingWriter();
     
                writeTagBodyContent(out, bodyContent);
            } catch (Exception ex) {
                handleBodyContentException(ex);
            }
     
            if (theBodyShouldBeEvaluatedAgain()) {
                return EVAL_BODY_AGAIN;
            } else {
                return SKIP_BODY;
            }
        }
     
        public boolean theBodyShouldBeEvaluatedAgain() {
            return false;
        }
    }
    Mais lorsque je porte mon applic sur un tomcat distant il ne trouve plus les fichier properties associés a chaque langue...du coup aucun label ne s'affiche. Actuellement mes fichiers properties sont placés dans: webdev/WEB-INF/lib

    Si quelqu'un sait où il faut placer mes fichiers properties afin qu'il soit disponible pour ma balise (appele dans mon JSP).....

    Merci d'avance


    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2005
    Messages : 9 601
    Points : 12 751
    Points
    12 751
    Par défaut
    T'as essayé en mettant les properties dans WEB-INF/classes ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2005
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    oui j'ai deja essayé... a vrai dire j'ai deja essayé de les mettre un peu partout. Mais ça ne change rien, y a pas moyen de preciser une ressource dans le web.xml ?? Ou alors faut-il que je specifie dans le nom générique du fichier l'emplacement de celui ci :

    private static final String NOM_GEN_FICHIER_PROPERTIES = "[localisation].Languages";
    Est ce correcte ??

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2005
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Si cela peut aider voici mon arborescence :

    -webdev
    -jsp
    -public_html
    -WEB-INF
    -classes
    -datamining
    GoTag.class
    IsItAllRight.class
    (...)
    -JSPServlets
    Control_Intranet.class
    Member_Intranet.class
    -images
    -lib
    web.xml
    Bienvenue.jsp
    Erreur.jsp
    Parcours.jsp

    Le - signifie que c'est un repertoire, les repertoires jsp,public_html et images sont vides. Le rep lib contient les jar (acces a la BD...).
    Dans la premiere JSP (Bienvenue) je choisi la langue et dans la deuxieme les affichages (label, bouton...) se font en fonction (enfin normalement).

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2005
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    J'ai tester en deplaçant mes fichiers properties un peu partout mais rien n'y fait...En local mes fichiers sont dans l'equivalent du repertoire WEB-INF\classes et il m'affiche bien mes labels dans la langue choisie.

    Merci pour ton aide



  6. #6
    Membre habitué
    Inscrit en
    mai 2003
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : mai 2003
    Messages : 103
    Points : 128
    Points
    128
    Par défaut
    je crois que Bundle cherche dans le classpath, alors normalement , ca devrait fonctionner sous /WEB-INF/classes, essaye peut etre d'ajouter un rép. dans ton properties "props/Languages" puis de placer ton fihcier sous WEB-INF/classes/props, à tout hasard qu'il n'aime pas le root

    sinon quel moteur JSP ?

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2005
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    j'ai mis mes fichiers dans WEB-INF\classes\props puis dans mon tag j'ai modifié la ligne suivante :

    private static final String NOM_GEN_FICHIER_PROPERTIES = "props.Languages";

    mais il ne les trouve toujours pas !
    Et je ne connais pas le moteur JSP
    merci pour ton aide.

  8. #8
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Salut

    juste une question ..est ce que sur ton serveur distant il prend en compte ton code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Locale localCourant = new Locale(local_Langue,local_Pays);
    essaie de mettre une log qui t'affichera le mode auquel il est ..
    je pense pas que ce soit forcement une question de placement de fichier

  9. #9
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2005
    Messages : 9 601
    Points : 12 751
    Points
    12 751
    Par défaut
    et avec ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static final String NOM_GEN_FICHIER_PROPERTIES = "/Languages";

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2005
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    J'ai essayé avec "/Language" mais sa ne fonctionne toujours pas...
    Et je ne sais pas comment je pourrais mettre un log ?? J'accede a mes JSP via tomcat qui est lancé sur un pc distant et lorsqu'il ne trouve pas les fichiers il affiche ma jsp mais sans les labels (ceux qui utilise mes fichiers).

  11. #11
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    ou bien met des variables pour que tu puisses afficher dans une jsp les valeurs de retour des methodes getDisplayName() ,getDisplayLanguage() ,getDisplayCountry()

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    novembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2005
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    J'ai resolu le probleme...en faite le probleme ne vennait pas de TOMCAT. Pour ceux que sa interesse :
    Avant la creation de bundle il faut crer un fichier properties vide dont le nom est le nom generique des fichier properties associés au bundle....
    Pas tres claire tout sa, prenons un exemple :

    Si j'ai 3 fichiers Properties :
    - Languages_fr_FR
    - Languages_nl_NL
    - Languages_us_US

    Il faudra crer un fichier properties Languages.properties (vide) et le placer dans le meme repertoire que les 3 autres...

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

Discussions similaires

  1. [Framework] Injecter un fichier properties dans une classe de constante
    Par Slyders dans le forum Spring
    Réponses: 0
    Dernier message: 25/03/2010, 17h10
  2. Réponses: 1
    Dernier message: 22/03/2010, 15h40
  3. Gerer Les fichier .jrxml dans une web Application
    Par y-ssir dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 26/02/2010, 12h21
  4. Les fichiers .swf dans une MasterPage
    Par casiii dans le forum ASP.NET
    Réponses: 2
    Dernier message: 10/07/2008, 16h47
  5. afficher les fichiers locaux dans une webapp
    Par gabardine dans le forum Flex
    Réponses: 0
    Dernier message: 21/05/2008, 16h02

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