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

Servlets/JSP Java Discussion :

Parcours d'un properties avec une boucle


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2009
    Messages : 132
    Par défaut Parcours d'un properties avec une boucle
    Bonjour à tous,

    je suis occupé à essayer de parcourir un fichier de type properties qui contiens plusieurs valeur pour la génération de bouton au format html automatique.

    Pourquoi faire comme cela ?
    Simplement que la personne à demander de pouvoir édité un seul et unique fichier avec un note pad ou autre.

    le but est de générer des boutons qui eux même auront une action pour l'envoie de sms par groupe d'après le bouton choisi, voilà pour la petite histoire.

    maintenant j'arrive à parcourir le fichier properties mais au lancement on dirais qu'il fait une boucle sans fin et je ne sais pas pourquoi. j'ai essayer également avec un iterator et même résulat.

    donc je voudrais faire une boucle avec la condition de sortie quand on arrive à la fin du fichier properties.

    voici mon code et plus bas le contenu du properties (génération directement dans une page 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
    <ul id="listBtn">
    	<%
                    int i = 1;
                    Properties property = new Properties();
                    property.load(new FileInputStream("C:/config.properties"));
                    //Iterator it = property.keySet().iterator();
                    Enumeration e = property.propertyNames();
                    while (e.hasMoreElements()) {
                    
            
                    out.print("<li><input type='button' value='property.getProperty(ButtonName1)'/></li>");
                    %>
     
    	<%      }
            %>
    et le properties
    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
    #Parametres de configuration pour l'affichage et la gestion des fichiers in et out
    #Répertoire des fichier in out et mot de passe de confirmation
    #PathIn=c:\test\in
    #PathOut=c:\test\out
    #Pwd=405
    #gestion bouton 1
    ButtonName1=Général renfort caserne
    File1=GeneralRenfortCaserne.txt
    Color1=gray
    #gestion bouton 2
    ButtonName2=Plan d'urgence
    File2=PlanUrgence.txt
    Color2=red
    #gestion bouton 3
    ButtonName3=Rappel Cadre
    File3=Cadre.txt
    Color3=yellow
    #gestion bouton 4
    ButtonName4=Intervention CMIC
    File4=CMIC.txt
    Color4=yellow
    #gestion bouton 5
    ButtonName5=Intervention GRIMP
    File5=GRIMP.txt
    Color5=gray
    #gestion bouton 6
    ButtonName6=Intervention plongeur
    File6=Plongueur.txt
    Color6=gray
    #gestion bouton 7
    ButtonName7=Renfort équipe 200
    File7=Volontaire200.txt
    Color7=gray
    #gestion bouton 8
    ButtonName8=Renfort équipe 300
    File8=Volontaire300.txt
    Color8=gray
    #gestion bouton 9
    ButtonName9=Renfort équipe 400
    File9=Volontaire400.txt
    Color9=gray
    #gestion bouton 10
    ButtonName10=Renfort équipe 500
    File10=Volontaire500.txt
    Color10=gray
    j'espère vraiment que vous pourrez m'apporter une idée sur le problème.
    merci
    Rudy

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2009
    Messages : 132
    Par défaut
    Citation Envoyé par mattrixx Voir le message
    Bonjour à tous,

    je suis occupé à essayer de parcourir un fichier de type properties qui contiens plusieurs valeur pour la génération de bouton au format html automatique.

    Pourquoi faire comme cela ?
    Simplement que la personne à demander de pouvoir édité un seul et unique fichier avec un note pad ou autre.

    le but est de générer des boutons qui eux même auront une action pour l'envoie de sms par groupe d'après le bouton choisi, voilà pour la petite histoire.

    maintenant j'arrive à parcourir le fichier properties mais au lancement on dirais qu'il fait une boucle sans fin et je ne sais pas pourquoi. j'ai essayer également avec un iterator et même résulat.

    donc je voudrais faire une boucle avec la condition de sortie quand on arrive à la fin du fichier properties.

    voici mon code et plus bas le contenu du properties (génération directement dans une page 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
    <ul id="listBtn">
    	<%
                    int i = 1;
                    Properties property = new Properties();
                    property.load(new FileInputStream("C:/config.properties"));
                    //Iterator it = property.keySet().iterator();
                    Enumeration e = property.propertyNames();
                    while (e.hasMoreElements()) {
                    
            
                    out.print("<li><input type='button' value='property.getProperty(ButtonName1)'/></li>");
                    %>
     
    	<%      }
            %>
    et le properties
    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
    #Parametres de configuration pour l'affichage et la gestion des fichiers in et out
    #Répertoire des fichier in out et mot de passe de confirmation
    #PathIn=c:\test\in
    #PathOut=c:\test\out
    #Pwd=405
    #gestion bouton 1
    ButtonName1=Général renfort caserne
    File1=GeneralRenfortCaserne.txt
    Color1=gray
    #gestion bouton 2
    ButtonName2=Plan d'urgence
    File2=PlanUrgence.txt
    Color2=red
    #gestion bouton 3
    ButtonName3=Rappel Cadre
    File3=Cadre.txt
    Color3=yellow
    #gestion bouton 4
    ButtonName4=Intervention CMIC
    File4=CMIC.txt
    Color4=yellow
    #gestion bouton 5
    ButtonName5=Intervention GRIMP
    File5=GRIMP.txt
    Color5=gray
    #gestion bouton 6
    ButtonName6=Intervention plongeur
    File6=Plongueur.txt
    Color6=gray
    #gestion bouton 7
    ButtonName7=Renfort équipe 200
    File7=Volontaire200.txt
    Color7=gray
    #gestion bouton 8
    ButtonName8=Renfort équipe 300
    File8=Volontaire300.txt
    Color8=gray
    #gestion bouton 9
    ButtonName9=Renfort équipe 400
    File9=Volontaire400.txt
    Color9=gray
    #gestion bouton 10
    ButtonName10=Renfort équipe 500
    File10=Volontaire500.txt
    Color10=gray
    j'espère vraiment que vous pourrez m'apporter une idée sur le problème.
    merci
    Rudy
    je confirme j'ai modifier par ce code
    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
    <ul id="listBtn">
    	<%
                    int i = 1;
                    Properties property = new Properties();
                    property.load(new FileInputStream("C:/config.properties"));
                    Iterator it = property.keySet().iterator();
                    
                    while (it.hasNext()) {
                    out.print(property.getProperty("ButtonName"+i));
                    i++;
            
                    //out.print("<li><input type='button' value='property.getProperty(ButtonName1)'/></li>");
                    %>
     
    	<%      }
            %>
    je parcours bien mes valeurs mais après il note des null à l'infini.

    je ne vois pas ou est le problème, enfin si je ne sort pas de la boucle mais pourquoi

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 47
    Par défaut
    Il me semble que tu as oublié qq 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
    <ul id="listBtn">
    	<%
    		int i = 1;
    		Properties property = new Properties();
    		property.load(new FileInputStream("C:/config.properties"));
    		Iterator it = property.keySet().iterator();
    		
    		while (it.hasNext()) {
    		out.print(property.getProperty("ButtonName"+i));
    		i++;
    		it.next();
    	
    		//out.print("<li><input type='button' value='property.getProperty(ButtonName1)'/></li>");
    		%>
    
    	<%	}
    	%>

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2009
    Messages : 132
    Par défaut
    Citation Envoyé par AlbanG Voir le message
    Il me semble que tu as oublié qq 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
    <ul id="listBtn">
    	<%
    		int i = 1;
    		Properties property = new Properties();
    		property.load(new FileInputStream("C:/config.properties"));
    		Iterator it = property.keySet().iterator();
    		
    		while (it.hasNext()) {
    		out.print(property.getProperty("ButtonName"+i));
    		i++;
    		it.next();
    	
    		//out.print("<li><input type='button' value='property.getProperty(ButtonName1)'/></li>");
    		%>
    
    	<%	}
    	%>
    oui en effet je sort bien de la boucle mais voici ce que j'ai maintenant à l'affichage :
    Service Incendie de Wavre

    Général renfort caserneblueGeneralRenfortCaserne.txtPlan d'urgenceredPlanUrgence.txtRappel CadreyellowCadre.txtIntervention CMICyellowCMIC.txtIntervention GRIMPgrayGRIMP.txtIntervention plongeurgrayPlongueur.txtRenfort équipe 200grayVolontaire200.txtRenfort équipe 300grayVolontaire300.txtRenfort équipe 400grayVolontaire400.txtRenfort équipe 500grayVolontaire500.txtRenfort équipe RudyoliveVolontaireRudy.txtRenfort équipe Rudy 2navyVolontaireRudy2.txtnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull
    pourquoi les null ...

    par contre comme ceci ça marche super bien, mais je voulais un iterator et surtout savoir les null comment il arrive là

    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
    <ul id="listBtn">
    	<%
                    String propertiesFile = "config.properties";
                    Properties property = new Properties();
                    property.load(new FileInputStream(this.getClass().getClassLoader()
                                    .getResource(propertiesFile).getFile()));
                    for (int i = 1; property.getProperty("ButtonName" + i) != null; i++) {
     
                            out.print("<form id=\"sms\" action="+request.getContextPath()+"/copyServlet method=\"post\">");
                            out.print("<fieldset>");
                            out.print("<legend> Ajouter un utilisateur </legend>");
     
                            out.print("<label for=\"form_new_lastnameResponsable\"> Code de sécurité: </label> <input type=\"text\" title=\"Entrer le code de sécurité pour l\'envoie\" name=\"new_lastnameResponsable\"/>");
                            out.print("<li><input type=\"submit\" title=\"Envoyer le fichier à la centrale SMS\" style=\"background:"
                                            + property.getProperty("Color" + i)
                                            + "\"value=\""
                                            + property.getProperty("ButtonName" + i) + "\"/></li>");
                            //out.print("<input type=\"submit\" title=\"Ajouter le nouvel utilisateur\" value=\"Ajouter\" />");
                            out.print("</fieldset>");
                            out.print("</form>");
     
                    }
            %>
    encore merci

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 766
    Par défaut
    surtout savoir les null comment il arrive là
    Bonjour,

    Il y a plein de null car l'objet est alloué plus grand au début. De mémoire avec une capacité de 11 objets et un loadfactor de 0,75.
    Donc tu vas toujours avoir plein de vide.

  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
    C'est surtout l'algo qui merde...
    Ton fichier de propriétés a autre chose que des clés "ButtonName" + x.
    Tu fais une itération sur les clés et tu utilises un index (incrémenté à chaque clé trouvée) pour rechercher la propriété "ButtonName" + index... d'où le NULL sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    property.getProperty("ButtonName"+i)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2009
    Messages : 132
    Par défaut
    Citation Envoyé par Jimmy_ Voir le message
    Bonjour,

    Il y a plein de null car l'objet est alloué plus grand au début. De mémoire avec une capacité de 11 objets et un loadfactor de 0,75.
    Donc tu vas toujours avoir plein de vide.
    oula sorry je ne suis pas, tu peux m'expliquer autrement ?

    merci

Discussions similaires

  1. Comment parcourir un fichier texte avec une boucle ?
    Par kikica dans le forum Langage
    Réponses: 2
    Dernier message: 15/11/2005, 17h13
  2. : remplir des zones de texte avec une boucle For
    Par Haro_GSD dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2005, 21h23
  3. Comment initialiser une liste de composants avec une boucle ?
    Par EricSid dans le forum Composants VCL
    Réponses: 5
    Dernier message: 06/04/2005, 18h46
  4. Réponses: 1
    Dernier message: 30/03/2005, 15h50
  5. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45

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