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

Développement Web en Java Discussion :

Remplir fichier XML en fonction d'un tableau


Sujet :

Développement Web en Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Remplir fichier XML en fonction d'un tableau
    Bonjour à tous,

    Je vous expose ma problématique actuelle:

    je n'arrive pas à récupérer les valeurs d'un tableau HTML(JSP) de mon application Web (JEE), et faire en sorte de remplir un fichier XML structuré. J'ai déjà réussi avec un programme JAVA de créer un XML bien structuré et il fonctionne. Mais ici le cas est différent, je ne veux plus produire un fichier XML structuré, je veux le remplir avec les données de mon tableau. En fait, je vais devoir juste récupérer une seule ligne de mon tableau. Les données de ce tableau provienne de ma BDD locale.
    Par ex : Ma colonne 1 corresponds à ma première branche de mon XML, colonne2-->2ème branche, etc ...
    Cette génération de ce fichier XML, j'aimerai qu'elle se fasse grâce à un bouton.
    Honnêtement, je ne vois pas du tout comment faire, ça fait plusieurs jours que je cherche sur Google.
    Est ce qu'il faut que dans ma servlet, je fasse un "request.getValues()" ou .... ???

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    L'utilisateur peut-il modifier des données dans ce tableau ou ne fait-il que choisir une colonne à exporter dans le fichier ?

    Citation Envoyé par fredbubu65 Voir le message
    J'ai déjà réussi avec un programme JAVA de créer un XML bien structuré et il fonctionne. Mais ici le cas est différent, je ne veux plus produire un fichier XML structuré, je veux le remplir avec les données de mon tableau.
    Quelle différence y a t'il ? Tu as des données et tu les écris dans un fichier XML dans les deux cas. C'est la même chose. La différence est dans la façon de récupérer ces données, pas dans la production du xml.


    Citation Envoyé par fredbubu65 Voir le message
    Est ce qu'il faut que dans ma servlet, je fasse un "request.getValues()" ou .... ???
    Dans le principe, tu récupéreras ce que le client saisit par request.getParameter("param") (il y a d'autres méthodes sur HttpServletRequest selon les besoins). Côté page web, tu peux faire un form pour la sélection et l'envoi des valeurs saisies, ou de simples invocation d'URL (en ajax par exemple).
    Si les données du tableau ne sont pas modifiables, autant de pas les transmettre en paramètre : elles proviennent de ta base, tu les as à disposition dans le serveur.
    Si les données sont modifiables, et leur volume conséquent, on peut aussi envisager un envoi via le body. Dans ce cas, il faudra les lire avec une technique similaire à un upload de fichier.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Bonjour,

    Merci pour vos réponses.

    L'utilisateur ne peut pas modifier les valeurs. C'est juste de l'affichage. En fait, j'aimerai que lorsque l'utilisateur appuie sur un bouton "Creer fichier XML", ce bouton appelle une méthode ou autre dans la servlet, et qu'ensuite ca créer le fichier XML en récupérant les données de la ligne affichée du tableau.

    J'ai rajouté en pièce jointe une capture d'écran pour vous montrer l'application. Si vous voulez d'autres détails concernant mon code de ma servlet, y a pas de soucis.
    Images attachées Images attachées  

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    1. Actuellement tu dois avoir une servlet qui produit un html à partir d'un paramètre saisi dans la zone de recherche, paramètre que tu dois récupérer avec un request.getParameter("name")
    2. si tu ajoutes un paramètre qui est ajouté seulement quand on clique sur le bouton du genre xml=true, il te suffit de faire dans la servlet quelque chose du genre :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
       
      String param = request.getParameter("name");
      if ( "true".equals(request.getParameter("xml")) {
           generateXML(request, response, param);
      }
      else {
           generateHTML(request, response, param);
      }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    J'ai testé mais j'y arrive pas. Comment dois-je faire pour récupérer la ligne entière du résultat de mon tableau ? (J'ai utilisé le modèle MVC)
    Pour afficher la liste complète de mon tableau, dans le modèle je déclare : private List<MonBean> liste = new ArrayList<Bean>();
    Dans ma DaoImpl : Méthode avec une requete sur ma BDD : select * from .... et dans la servlet :
    String refParts = request.getParameter("refParts");
    Modele modele = new Modele();
    modele.setRefParts(refParts);

    List<PartsRef> theListe = metier.afficherTout(refParts + "%");

    modele.setListeTableau(theListe);
    request.setAttribute("modele", modele);

    request.getRequestDispatcher("formulaire.jsp").forward(request, response);

    Cela fonctionne a merveille.
    Mais dans le bouton "CreateXML", je veux récupérer les lignes du résultat du filtre de mon 1er bouton (en général je n'ai qu'une ligne affiché), et alimenté un fichier XML. Comme je l'ai dit, j'aimerai que ma 1ere colonne corresponde à ma 1ère balise, etc
    Je suis débutant et je ne vois pas comment faire. A moins, que j'utilise un framework comme ANGULAR, et Angular me récupère la seule ligne affiché et me l'envoie dans un fichier XML !!!
    Qu'en pensez-vous ?

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    On s'en moque d'Angular ou tout ce que tu peux utiliser côté client. Cherche pas à récupérer des trucs dans le client (à part le paramètre de ta requête, ce que tu fais déjà pour générer ta page).
    Tu as bien actuellement une requête exécutée côté serveur qui génère ce que tu vas afficher dans ta page html, peu importe comment c'est. Tu parcours un ResultSet, tu lis des champs dedans pour chaque ligne..., ou tu obtiens tes données d'un Dao, dans un modèle ou je ne sais quoi, et bien ces données au lieu de les sérialiser dans le format que tu utilises pour l'afficher dans ton client (je sais ce que c'est, du json à priori si tu as un client Angular), et bien tu les serialises en xml.

    Pour le principe, si tu as, par exemple, un code comme ça pour la serialization en Json (ici, exemple avec Jackson et un ResultSet directement) :
    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
    	public static void toJSon(String param, HttpServletResponse response) throws SQLException {
     
    		try(OutputStream outputStream = response.getOutputStream()) {
    			try(ResultSet set = getResultSet(param)) {
     
    				response.setContentType("application/json");
    				JsonGenerator generator = new JsonFactory().createGenerator(outputStream);
     
    				generator.writeStartArray();
    				try {
    					while(set.next()) {
    						generator.writeStartObject();
    						try {
    							generator.writeStringField("name", set.getString("name"));
    							generator.writeNumberField("value", set.getInt("value"));
    							/* etc */
    						}
    						finally {
    							generator.writeEndObject();
    						}
    					}
    				}
    				finally {
    					generator.writeEndArray();
    				}
     
                                    generator.close();
    			}
    		}
     
    	}
    Et bah pour du XML (ici Stax)
    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
     
     
    	public static void toXML(String param, HttpServletResponse response) throws SQLException {
     
    		try(OutputStream outputStream = response.getOutputStream()) {
    			try(ResultSet set = getResultSet(param)) {
     
    				response.setContentType("text/xml");
    				XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(outputStream);
     
    				writer.writeStartDocument();
    				writer.writeStartElement("rows");
    				try {
    					while(set.next()) {
    						writer.writeStartElement("row");
    						try {
    							writer.writeStartElement("name");
    							writer.writeCData( set.getString("name") );
    							writer.writeEndElement();
    							writer.writeStartElement("value");
    							writer.writeCharacters(String.valueOf(set.getInt("value")));
    							writer.writeEndElement();
    							/* etc */ 
    						}
    						finally {
    							writer.writeEndElement();
    						}
    					}
    				}
    				finally {
    					writer.writeEndElement();
    				}
    				writer.writeEndDocument();
     
    			}
    		}
     
    	}
    Ici, j'écris dans le flux de la réponse, mais tu peux écrire dans le flux d'un fichier... c'est pareil.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Merci pour ta réponse.

    J'ai testé ton code avec Stax. J'ai une erreur sur la ligne : ResultSet set = getResultSet(param)
    J'ai regardé la différence entre SAX,DOM et Stax et je pense que DOM convient mieux pour ce que je souhaite mettre en place puisque DOM permet d'ecrire, lire ou modifier un fichier XML; et moi je souhaite construire un fichier XML (Ecrire).

    En fait, Eclipse veut que je crée une méthode "getResultSet", je comprends pas trop, peux-tu m'expliquer stp ? (D'après ton code fournit)
    En attendant, je continue de chercher ou voir ce que je peux mettre en place ....

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par fredbubu65 Voir le message

    J'ai testé ton code avec Stax. J'ai une erreur sur la ligne : ResultSet set = getResultSet(param)
    Oui, m'enfin, c'était un exemple de principe. La méthode n'existe pas : c'était juste pour indiquer "ici on récupère le ResultSet résultant du SELECT"....

    Citation Envoyé par fredbubu65 Voir le message

    J'ai regardé la différence entre SAX,DOM et Stax et je pense que DOM convient mieux pour ce que je souhaite mettre en place puisque DOM permet d'ecrire, lire ou modifier un fichier XML; et moi je souhaite construire un fichier XML (Ecrire).
    StAX aussi permet de lire et écrire (et donc modifier). Simplement StAX évite de charger la mémoire avec un DOM (dans une application web, c'est particulièrement important, même si le nombre de données est petit), mais impose de pouvoir faire la sérialisation en une passe, ce qui est possible avec un résultat de SELECT (ou la désérialisation de préférence en une passe, lorsque c'est possible).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut
    Désolé, mais je comprends rien à ce que tu dis. J'ai regardé la sérialisation d'objets JAVA suivant des objets BEANS afin de créer un fichier XML, mais ca ne corresponds pas à ce que je veux faire car le format de sortie du XML est bizarre :
    <?xml version="1.0" encoding="UTF-8"?>
    <java version="1.6.0_43" class="java.beans.XMLDecoder">
    <object class="com.jmdoudoux.test.serialisation.MonBean">
    <string>valeur1</string>
    <string>valeur2</string>
    </object>
    </java>

    Est ce qu'on peut modifier les balises <string>, <object> et autres ?

    D'autres part, je ne vois pas comment avec un SELECT, comment je peux récupérer ma ligne de mon tableau ?!!
    Merci d'avance pour les explications claires

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par fredbubu65 Voir le message
    J'ai regardé la sérialisation d'objets JAVA suivant des objets BEANS afin de créer un fichier XML
    "Sérialisation" est un terme générique utilisé pour décrire un processus de transformation d'objets en texte. Transformer des données provenant d'une base en XML, c'est transformer des objets en texte, donc de la sérialisation.
    Citation Envoyé par fredbubu65 Voir le message
    Est ce qu'on peut modifier les balises <string>, <object> et autres ?
    Avec StAX, on fait ce qu'on veut.

    Citation Envoyé par fredbubu65 Voir le message
    D'autres part, je ne vois pas comment avec un SELECT, comment je peux récupérer ma ligne de mon tableau ?!!
    Les données de ton tableau ne viennent pas d'une base de données ? D'où viennent-elles ces données ? A la limite, peu importe : si tu peux générer un tableau HTML avec des données provenant de n'importe quelle source, tu peux générer n'importe quoi, donc du XML, à partir de ces mêmes données. Renvoyer le html depuis le client vers le serveur est une solution pourrie, et récupérer le html (pour le parser) dans une servlet qui se connecte à lui-même aussi.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Effectivement, je veux parser ma ligne affichée dans un fichier XML. Les données affichées proviennent d'une table MySQL.
    En fait, pour afficher toutes les données de ma table dans mon tableau, je fais appel à une méthode qui est définit dans ma classe "TableauDaoImpl" qui comprends effectivement un "SELECT * FROM maTable WHERE ref LIKE ? ". Cette méthode me permet de tout afficher et de filtrer suivant ce que je met dans le label en filtrant sur ma 1ère colonne "ref". Je fais appel à cette méthode dans ma servlet.

    Ce que je veux faire c'est :
    - Récupérer les lignes affichées (en général il y a qu'une ligne affichée)
    - Mettre cette ligne dans un fichier XML qui se crée en appuyant sur mon bouton "CreateXML"

    PS : J'ai mis un doc Word avec mon code pour que tu comprennes mieux. "Explications_Forums"
    Fichiers attachés Fichiers attachés

  12. #12
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par fredbubu65 Voir le message
    Effectivement, je veux parser ma ligne affichée
    Si tu veux absolument parser ton html, je ne te donnerais pas la solution parce que c'est une mauvaise solution.

    Citation Envoyé par fredbubu65 Voir le message
    Les données affichées proviennent d'une table MySQL.
    En fait, pour afficher toutes les données de ma table dans mon tableau, je fais appel à une méthode qui est définit dans ma classe "TableauDaoImpl" qui comprends effectivement un "SELECT * FROM maTable WHERE ref LIKE ? ".
    Donc, comme je le pensais, tu as bien un SELECT quelque part. Et il y du code qui transforme le résultat de ce SELECT en HTML, ou en n'importe quoi d'autre utilisé par ton client web pour récupérer les données à afficher (du JSon peut-être). Si c'est le DAO qui fait ça, c'est mal conçu : un DAO n'a pas à s'occuper de présentation (le html concerne la vue, pas le modèle), ou de format (le json concerne le protocole, pas le modèle). Si c'est bien conçu, alors tu dois récupérer un modèle qui te permet de connaître ce qui va être affiché dans le tableau. Et bien, tu t'en sers pour générer ton XML, de manière similaire à ce qui est fait pour générer. Je ne vois pas comment le dire autrement. Si c'est mal conçu et que tu veux persister, tu peux toujours dupliquer la méthode qui génère le html ou le json ou je ne sais quoi, et faire pareil pour générer le XML, comme je l'ai déjà dit et montré précédemment.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Mon architecture JEE est bien concue avec un modele MVC. Mon DAO ne s'occupe pas de la présentaion ! C'est bien la vue. Et oui, j'ai bien un modèle.
    Bon je crois que je vais pas trouver de solution avec toi ! Si quelqu'un d'autre participe à cette duiscussion qu'il me donne une réponse claire car là j'ai l'impression de tourner en rond sans avancer. Merci Joel pour tes réponses.

  14. #14
    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
    ben c'est facile, t'appelle ton DAO depuis ta servlet, (ça tu le fait déjà visiblement
    t'obtiens ton paquet des données, (visiblement t'arrive à les afficher dont tu les a biens)
    t'en fait un joli XML (visiblement t'es déjà arriver à générer un XML depuis des données)

    donc du coup on a du mal à comprendre sur quoi tu coince encore. Le flow me semble assez simple


    bouton => servlet (avec parametre de la recherche) => envoi de la recherche vers le DAO => récupération par la servlet => envoi vers le générateur xml => récupération par la servlet => envoi vers la réponse client.

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Effectivement, je sais générer un fichier XML, mais avec du code en dur dans une fonction JAVA. (En utilisant la librairie JDOM), mais pas en fonction du résultat de mon tableau. Ces résultats qui s'affichent changent puisque cela dépends de ce que l'utilisateur tape dans les labels. Donc le fichier XML doit s'adapter à ce qui s'affiche dans mon tableau.
    Et c'est là où je bloque !

    Je vais chercher et voir les fonctions que je peux utiliser avec cette librairie JDOM pour obtenir une ou plusieurs lignes de mon tableau.
    Si par hasard "Tchize_" tu as déjà fait ce type de travail et que tu as une idée avec les fonctions JDOM, je suis preneur.
    Merci par avance.

  16. #16
    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
    si tu commencais par nous montre le code que tu as pour générer ton Xml et pour générer ton affichage? Je pense que ce serait plsu clair, car là on ne vois vraiment pas où tu coince.

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Ok, je vous transmet le code d'une classe JAVA que j'ai développé et qui me génère un document XML avec la bonne structure. On voit bien que les données sont en dur dans le code pour remplir mon XML dans "....setText".

    Est ce que je peux développer une méthode dans mon DAO (comme les autres méthodes qui m'affichent la liste intégrale du tableau soit 5000 lignes)
    avec un ArrayList et récupérer du coup les lignes qui s'affichent pour remplir mon fichier XML ?

    Merci d'avance pour vos réponse et votre implication à mon problème.
    Fichiers attachés Fichiers attachés

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    Ayant discuté avec un amis, je pense que je vais partir sur du JQUERY pour récupérer les lignes qui sont affichées dynamiquement, et utilisé ca dans ma servlet pour produire un fichier XML

  19. #19
    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
    il nous manque le deuxième bout: comment tu génère ton affichage

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Points : 27
    Points
    27
    Par défaut Réponse aux commentaires
    La réponse à ta question est écrit dans le post du 22/03 à 8h37 de ma part.
    Comme je l'ai dit, je développe une application en JEE, et j'utilise le modèle MVC.
    Je fais appel à une méthode que je développe dans mon fichier JAVA DAO pour tout afficher de ce que j'ai dans ma BDD.

    J'ai commencé le JQuery avec de l'AJAX.
    J'arrive à récupérer par du JQuery des données, mais celles-ci je les ai codé en dur dans ma JSP et non comme je le voudrais de mon tableau qui lui est dynamique, puisque comme je l'ai déjà expliqué, la/les lignes affichées changent constemment car cela dépend de ce que l'utilisateur voudra afficher via mon bouton de filtre sur la 1ère colonne.

    Si quelqu'un a déjà rencontré ce problème, qu'il m'aiguille, sinon pour le moment je vais alller faire un tour sur le forum en JQuery.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Réponses: 7
    Dernier message: 09/01/2019, 21h23
  2. Afficher un fichier XML avec fonction JavaScript
    Par nicolas00123 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/01/2013, 13h27
  3. Réponses: 1
    Dernier message: 11/04/2012, 17h14
  4. Filtrer un fichier XML à l'aide d'un tableau
    Par LaBastoss dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 26/05/2011, 18h11

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