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 :

remplir tableau dans une page JSP à partir d'un fichier texte


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut remplir tableau dans une page JSP à partir d'un fichier texte
    Bonjour tout le monde,
    j'ai un probleme apropos de l'utilisation des fichiers dans jsp. J'ai mis les champs d'un fichier dans un tableau et j'ai l'afficher dans une page jsp mais je veux afficher ces champs dans un tableau ayant les colonnes suivantes:
    Nom du serveur, Adresse IP, Service1,...et enfin Service n.
    Sachant que chaque ligne dans ce fichier texte contient une ligne du tableau qu'on désire le construire.
    Par exemple mon fichier contient ces 3 lignes:
    Apache#192.168.1.1#21#80#null#
    Oracle#192.168.1.2#21#80#40#
    JBOSS#192.168.1.3#80#40#null#
    J'ai afficher jusqu'à ce moment dans la page JSP:
    Apache 192.168.1.1 21 80 Oracle 192.168.1.2 21 80 40 JBOSS 192.168.1.3 80 40
    tableau qui contient tous les champs du fichier.
    (dans une seule ligne).
    Aidez-moi car je me suis vraiment bloqué dans cette étape.

  2. #2
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    L'idéal serait de constituer, à partir de ton fichier, une List d'objets de type Serveur ayant pour propriétés nomServeur, adresseIp, service1, ... pour pouvoir l'afficher comme ceci dans la 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <%@ page import="java.util.*,nomdupackage.Serveur"%>
     
    <jsp:useBean id="listeServeurs" scope="request" type="java.util.List"/>
     
    <table border=1>
    <tr>
    	<th>Nom du serveur</th>
    	<th>Adresse IP</th>
    	<th>Service1</th>
    	...
    </tr>
    <%      Iterator it = listeServeurs.listIterator() ;
            while (it.hasNext())
            {
                    Serveur serveur=(Serveur) it.next() ;
    %>
    <tr>
    	<td><%=serveur.getNomServeur()%></td>
    	<td><%=serveur.getAdresseIp()%></td>
    	<td><%=serveur.getService1()%></td>
    	...
    <%      }
    %>
    </table>

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut re
    voilà la classe qui permet de lire le fichier et le remplir dans un vecteur.
    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
    package servers;
    import java.io.*;
    import java.util.Vector;
    import java.io.File;
    import java.io.IOException;
    import java.util.*;
    import java.util.Scanner;
    import java.util.regex.Pattern;
    public class Lecture {
     
       Vector v [][] = new Vector [10][10];
       public Lecture(){}
      public static Vector getline(String fl ) throws FileNotFoundException
        {
            Vector v1=new Vector();
            Vector v2=new Vector();
            Scanner scanner=null;  
            String champ;
            scanner= new Scanner(new File(fl));
            int i=0;
            while (scanner.hasNextLine()) 
              { 
                String line = scanner.nextLine();  
                v1.addElement(line);
                Scanner s=new Scanner((String) v1.elementAt(i));
                s.useDelimiter(Pattern.compile("#"));
                while (s.hasNext())
                {
                       champ=s.next();
                       if(!champ.equals("null"))  
                       v2.addElement(champ);  
                }
                i++;
                s.close();
            }
                scanner.close();
                return v2;
        }   
    }

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    En fait, plutôt qu'une liste d'objets, tu pourrais faire plus simplement une List de List comme ceci :
    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
    public static List getListe(String fl ) throws FileNotFoundException
    {
    	List rows=new ArrayList() ;
    	List cols=null ;
            Scanner scanner=null;  
            String champ;
            scanner= new Scanner(new File(fl));
            while (scanner.hasNextLine()) 
              { 
                String line = scanner.nextLine();  
                Scanner s=new Scanner(line);
                s.useDelimiter(Pattern.compile("#"));
                cols=new ArrayList() ;
                while (s.hasNext())
                {
                       champ=s.next();
                       if(!champ.equals("null"))  
                       cols.add(champ) ;
                }
                rows.add(cols) ;
                s.close();
            }
            return rows ;
    }
    et ensuite, pour l'afficher dans la jsp sous forme de tableau html :
    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
    <table border="1">
    <% 
            List rows=Lecture.getListe("nomdufichier.txt") ;
            List cols=null ;
            
            for (int i=0; i<rows.size() ; i++)
            {
                    cols=(List) rows.get(i) ;
    %>
    	<tr>
    		<%
                            for (int j=0; j<cols.size(); j++)
                            {
                            String champ=(String) cols.get(j) ;
                    %>
    			<td><%=champ%></td>
    		<%
                            }
                    %>
    	</tr>
    <%
            }
    %>
    </table>

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut re
    Il m'a donné des erreurs aux lignes suivantes:

    List rows=new ArrayList() ;//incompatibles types


    cols=new ArrayList() ;//cols est de type List

    rows.add(cols) ;// Méthode add n'est pas reconnue

  6. #6
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    A mon avis, tu n'as pas importé la bonne classe List.

    Pour les classes List et ArrayList, tu devrais avoir les imports suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import java.util.List ;
    import java.util.ArrayList ;

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut re
    ça va ça bien marché!!!
    Merci beaucoup pour votre aide!!

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

Discussions similaires

  1. Editer un tableau dans une page JSP
    Par caro_caro dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 06/11/2011, 04h50
  2. Réponses: 1
    Dernier message: 07/05/2010, 10h09
  3. [AJAX] Recharger un tableau dans une page à partir d'une thickbox
    Par benthebest dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/10/2008, 11h24
  4. [DisplayTag] Affichage d'un tableau dans une page jsp
    Par jihane1 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/05/2008, 13h05
  5. [EJB+JSP+Tomcat] Appel d'une page JSP à partir d'un bean
    Par Hakkou dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 02/06/2004, 15h26

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