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 :

Insérer des données XML dans une ListBox


Sujet :

Tomcat et TomEE Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Points : 39
    Points
    39
    Par défaut Insérer des données XML dans une ListBox
    Je sais que le titre peut paraite confus par rapport à la section du forum mais je m'explique :

    Voici mon code Java qui sera lancée ensuite d'un serveur Tomcat

    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
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
     
    public class ServletAdmin extends HttpServlet {
     
       	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
    
    	        response.setContentType("text/html");
    	        PrintWriter out = response.getWriter();
    	        out.println("<html>");
    	        out.println("<head>");
    	        out.println("<H4><center><br>Administration des Comptes </br></center></H4>");
    	        out.println("Choisir un login : ");
    	        out.println("<SELECT name='lst_login' size=1 >");
    	        out.println("<OPTION>Login1");
    	        out.println("<OPTION>Login2");
    	        out.println("<OPTION>Login3");
    	        out.println("</SELECT>");
    	        out.println("<title>Administration des Comptes</title>");
    	        out.println("</head>");
    	        out.println("<body>");
    	        out.println("<br>");
    	        out.println("<br>");
    	        out.println("<table style='width: 30%; text-align: left; margin-left: 2em; margin-bottom: 2em;' border='1' cellpadding='2' cellspacing='2'>");
    	        out.println("<tr><td> Login </td> <td> <input type=text name=login></td></tr>");
    	        out.println("<tr><td> Nom </td> <td><input type=text name=nom></td></tr>");
    	        out.println("<tr><td> Prenom </td> <td><input type=text name=prenom></td></tr>");
    	        out.println("<tr><td> Adresse Mail </td> <td><input type=text name=mail></td></tr>");
    	        out.println("<br>");
    	        out.println("</table>");
    	        out.println("<input type='button' text='Suppression du Compte' value='Supprimer'>");
    	        out.println("</body>");
    	        out.println("</html>");
        	}
    }
    Mon problème se pose au niveau de la partie rouge, de la listbox HTML. En effet, je récupère les différents logins dont j'ai besoin depuis une Base de Données XML.
    La récupération de ces logins ne me posent pas de problèmes. Voici la partie de mon code Java qui me permet de récupérer les logins

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Element racine = document.getDocumentElement();
    NodeList liste =  racine.getElementsByTagName("login");
    for(int i=0; i<liste.getLength(); i++){
    Element e = (Element)liste.item(i);
                        		System.out.println(e.getFirstChild().getNodeValue());
    			}
    Mon problème est donc que je veux insérer les logins récupérés dans la listebox que j'ai dans mon autre fichier java et je ne vois pas du tout comment faire appel aux données XML récupérés.
    Si quelqu'un pourrait m'aider, ca serait sympa !! Si vous comprenez pas trop mon problème, demandez moi plus de renseignement !
    Merci d'avance !

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    J'aurais tendance à dire

    1) dans ton deuxième code, remplace
    System.out.println(e.getFirstChild().getNodeValue());
    Par
    out.println("<option>"+e.getFirstChild().getNodeValue()+"</option>");

    2) tu prend le bloc du deuxième code et tu le met à la place des trois dernière lignes rouges dans le premier bloc, le tour est joué.


    Personellement, je vois pas où est la difficulté :/

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Points : 39
    Points
    39
    Par défaut
    Merci pour ta réponse je n'avais pas captée

    Par contre, j'ai testé ce que tu m'as dit mais mes logins ne s'affichent pas dans la liste déroulante

    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    import javax.servlet.*;
    
    import javax.servlet.http.*;
    import javax.xml.parsers.*; 
    
    import org.w3c.dom.*; 
    
    import org.xml.sax.*; 
    
    import java.io.*; 
    import org.w3c.dom.Document;
    
    
    public class ServletAdmin extends HttpServlet {
    
     
    
       	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
    
    
    	        response.setContentType("text/html");
    
    	        PrintWriter out = response.getWriter();
    
    	        out.println("<html>");
    
    	        out.println("<head>");
    		out.println("<H4><center><br>Administration des Comptes </br></center></H4>");
    		out.println("Choisir un login : ");
    
    		out.println("<SELECT name='lst_login' size=1 >");
    		try{
    
    			DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
    			DocumentBuilder constructeur = fabrique.newDocumentBuilder();
    			File xml = new File("uti.xml");
    
    			out.println("Login1");
    			Document document = constructeur.parse(xml);
    			out.println("Login2");
    
    			Element racine = document.getDocumentElement();
    			NodeList liste =  racine.getElementsByTagName("login");
    			for(int i=0; i<liste.getLength(); i++){
    				out.println("Login3");
    				out.println("<OPTION>Login2");
                        		Element e = (Element)liste.item(i);
    				out.println("<OPTION>"+e.getFirstChild().getNodeValue());
    			}
    		}catch(ParserConfigurationException pce){
    
    			System.out.println("Erreur de configuration du parseur DOM");
    
    			System.out.println("lors de l'appel à fabrique.newDocumentBuilder();");
    
    		}catch(SAXException se){
    
    			System.out.println("Erreur lors du parsing du document");
    
    			System.out.println("lors de l'appel à construteur.parse(xml)");
    
    		}catch(IOException ioe){
    
    			System.out.println("Erreur d'entrée/sortie");
    
    			System.out.println("lors de l'appel à construteur.parse(xml)");
    
    		}
    
    		out.println("</SELECT>");
    
    	        out.println("<title>Administration des Comptes</title>");
    
    	        out.println("</head>");
    
    	        out.println("<body>");
    		out.println("<br>");
    		out.println("<br>");
    		out.println("<table style='width: 30%; text-align: left; margin-left: 2em; margin-bottom: 2em;' border='1' cellpadding='2' cellspacing='2'>");
    
    	        out.println("<tr><td> Login </td> <td> <input type=text name=login></td></tr>");
    
    		out.println("<tr><td> Nom </td> <td><input type=text name=nom></td></tr>");
    
    		out.println("<tr><td> Prenom </td> <td><input type=text name=prenom></td></tr>");
    
    		out.println("<tr><td> Adresse Mail </td> <td><input type=text name=mail></td></tr>");
    		out.println("<br>");
    
    	        out.println("</table>");
    		out.println("<input type='button' text='Suppression du Compte' value='Supprimer'>");
    		out.println("</body>");
    
    	        out.println("</html>");
    
        	}
    
    }
    Une erreur survient sur les lignes rouges. En effet, quand j'affiche après la compilation (la compilation se passant bien) le code source de la page, login1 s'affiche mais pas Login2. Donc je ne comprends pas trop. Est ce un problème au niveau du try ??

  4. #4
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Points : 39
    Points
    39
    Par défaut
    C'est bon tout marche. Mon erreur s'était que le fichier XML lu ne se trouvait pas au bon endroit.

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

Discussions similaires

  1. [XL-2007] Faire en sorte d'insérer des données triées dans une ListBox.
    Par EtherniTy dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/09/2010, 13h35
  2. Réponses: 1
    Dernier message: 06/11/2007, 16h43
  3. importer des données XML dans une base Oracle 9
    Par lanfeustdetroll dans le forum JDBC
    Réponses: 3
    Dernier message: 19/07/2007, 00h09
  4. Insérer des données Excel dans une table ACCESS
    Par anikeh dans le forum Access
    Réponses: 4
    Dernier message: 21/12/2005, 22h42
  5. Insérer des données Excel dans une base Access ?
    Par MaTHieU_ dans le forum Access
    Réponses: 3
    Dernier message: 22/06/2005, 15h11

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