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 :

Générer html à partir de xml directement dans page JSP sans enregistrer le fichier html ..utilisation de DOM


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 154
    Points : 84
    Points
    84
    Par défaut Générer html à partir de xml directement dans page JSP sans enregistrer le fichier html ..utilisation de DOM
    Bonjour

    J'ai voulu généré du HTML à partir d'un fichier xml. Pour cela j'ai utilisé ce script que j'ai troucé sur le Net basé sur le DOM:

    Code java : 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
     
    package com.CreationPDF;
    import javax.xml.parsers.*; 
    import org.w3c.dom.*; 
    import javax.xml.transform.*; 
    import javax.xml.transform.dom.*; 
    import javax.xml.transform.stream.*;
    public class GenererHtml{
    	//public static String result;
    	public static void creerHTML(String xml, String xsl, String html) throws Exception{
    		// Création de la source DOM
    		DocumentBuilderFactory fabriqueD = DocumentBuilderFactory.newInstance();
    		DocumentBuilder constructeur = fabriqueD.newDocumentBuilder();
    		//File fileXml = new File(xml);
    		Document document = constructeur.parse(xml);
            Source source = new DOMSource(document);
            // Création du fichier de sortie
           // File fileHtml = new File(html);
            Result resultat = new StreamResult(html);
            // Configuration du transformer
            TransformerFactory fabriqueT = TransformerFactory.newInstance();
            StreamSource stylesource = new StreamSource(xsl);
            Transformer transformer = fabriqueT.newTransformer(stylesource);
            transformer.setOutputProperty(OutputKeys.METHOD, "html");
            // Transformation
         //   result= resultat;
            //transformer.transform(source, resultat);
     
           // System.out.println(resultat);
    	}
    public static void main(String[] args){
    		try{
    			//System.out.println("test");
    		creerHTML("C:/jboss-5.1.0.GA/server/default/deploy/prj.war/stylesheets/XMLFILE.xml", "C:/jboss-5.1.0.GA/server/default/deploy/prj.war/stylesheets/XSLFILE.xsl", "C:/jboss-5.1.0.GA/server/default/deploy/prj.war/stylesheets/test.html");
    		}catch(Exception e){e.printStackTrace();}
    	}
    }


    Voila mon problème : En fait j'arrive bien à créer le fichier HTML dans l'endroit donné en paramètre , par contre ce que n'arrives pas à faire c'est de pouvoir intégrer stocker le résultat pour l'afficher directement dans une page jsp .

    car si je dois créer (enregistrer) un fichier html et l inclure dans une page jsp pour chaque requette je ne serais pas comment détruire ces fichiers dans le disque une fois la page jsp fermée!.

    Merci
    Amicalement

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 154
    Points : 84
    Points
    84
    Par défaut
    Bonsoir,

    Voila pour ceux qui sont intéressés , j'ai réussi à générer directement de l'Html à partir du xml , xsl . en incluant Directement le Code dans la JSP.

    Cepandant cette manière de proceder n'est pas terrible car j'aurais aimé effectivement mettre le code dans une servlet et diriger le flux pour ne faire qu'un simple affichage avec system.println (request.getattribute(MonObjetTransmisParmaServlet) mais je ne sais pas faire.

    Voici la code pour ceux qui sont intéréssés et que j'ai trouvé d'ailleurs dans la faq .
    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
     
    <%
    DocumentBuilderFactory fabriqueD = DocumentBuilderFactory.newInstance();
    DocumentBuilder constructeur = fabriqueD.newDocumentBuilder();
    //File fileXml = new File(xml);
    Document document = constructeur.parse("C:/jboss-5.1.0.GA/server/default/deploy/hprojet.war/stylesheets/XMLFILE.xml");
    Source source = new DOMSource(document);
    // Création du fichier de sortie
    // File fileHtml = new File(html);
    Result resultat = new StreamResult(out);
    // Configuration du transformer
    TransformerFactory fabriqueT = TransformerFactory.newInstance();
    StreamSource stylesource = new StreamSource("C:/jboss-5.1.0.GA/server/default/deploy/hprojet.war/stylesheets/XSLFILE.xsl");
    Transformer transformer = fabriqueT.newTransformer(stylesource);
    transformer.setOutputProperty(OutputKeys.METHOD, "html");
    // Transformation
    //   result= resultat;0
    transformer.transform(source, resultat);
     
    %>

    Amicalement

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/03/2012, 16h56
  2. Génération d'une page HTML à partir de XML et XSL
    Par clubist dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 06/12/2010, 11h21
  3. CREER un fichier html à partir de XML/XSLT avec VBScript ?
    Par kokogil dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 04/07/2008, 21h14
  4. Changer la valeur d'un bean directement dans page jsp
    Par stephane92400 dans le forum JSF
    Réponses: 8
    Dernier message: 07/08/2007, 06h23
  5. [XML] Lire le xml directement dans html
    Par Extra-Nitro dans le forum XSL/XSLT/XPATH
    Réponses: 22
    Dernier message: 19/08/2006, 14h33

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