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ération d'une page HTML à partir de XML et XSL


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti Avatar de clubist
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Points : 301
    Points
    301
    Par défaut Génération d'une page HTML à partir de XML et XSL
    Bonjour à tous,

    J'ai une page jsp dans serveur jboss

    je fais appel à cette page en envoyant un paramètre par la méthode GET comme suit: l'urldelapagejsp?p=monparamètre

    Ce paramètre n'est autre qu'un contenu xml

    ce xml fait appel à un fichier xsl qui se trouve sous c:

    lors de l'exécution, la page s'affiche comme s'il n'y a pas appel à un xsl

    Remarque : quand je crée un fichier xml contenant mes données envoyées en paramètre, l'exécution se fait parfaitement (l'appel de xsl est normalement réalisé) en utilisant Notepad xml.

    Merci d'avance.

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Bonjour,

    Peut-on voir le code?

  3. #3
    Membre averti Avatar de clubist
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Points : 301
    Points
    301
    Par défaut
    c'est le code de la 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
    <%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
     
    <%
     
    String s = request.getParameter("p");
    if(s!=null){
            String dc = "\"";
            s  = s.substring(s.indexOf("<"), s.indexOf(">")+1)+"\n"+
                      "<?xml:stylesheet type="+dc+"text/xsl"+dc+" href="+dc+"/credit.xsl"+dc+"?>"+ 
                      s.substring(s.indexOf(">")+1);
            
            System.out.println(s);
            out.println(s);
    }
            
    else{
            System.out.println(s);
            out.println(s);
    }
    //out.println(s);
    %>
    et c'est le code de fichier XML envoyé en paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?xml version=1.0?><ROWSET> <ROW>  <NOM>nabli</NOM>  <PRENOM>hatem</PRENOM>  <NUM_COMPTE_CLIENT>a001</NUM_COMPTE_CLIENT>  <CREDIT>   <CREDIT_ROW>    <TITRE_CREDIT>titre1</TITRE_CREDIT>    <DESIGNATION_CREDIT>designation1</DESIGNATION_CREDIT>   </CREDIT_ROW>   <CREDIT_ROW>    <TITRE_CREDIT>titre2</TITRE_CREDIT>    <DESIGNATION_CREDIT>designation2</DESIGNATION_CREDIT>   </CREDIT_ROW>  </CREDIT> </ROW> <ROW>  <NOM>nabli</NOM>  <PRENOM>hatem</PRENOM>  <NUM_COMPTE_CLIENT>a002</NUM_COMPTE_CLIENT>  <CREDIT>   <CREDIT_ROW>    <TITRE_CREDIT>titre2</TITRE_CREDIT>    <DESIGNATION_CREDIT>designation2</DESIGNATION_CREDIT>   </CREDIT_ROW>  </CREDIT> </ROW> <ROW>  <NOM>laabidi</NOM>  <PRENOM>taoufiq</PRENOM>  <NUM_COMPTE_CLIENT>a003</NUM_COMPTE_CLIENT>  <CREDIT>  </CREDIT> </ROW></ROWSET>
    et c'est le fichier XSL qui est appelé dans le fichier xml :
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:template match="ROWSET">
    <center>
    <h1>Liste des credits par clients</h1>
    </center>
    <xsl:for-each select="//ROWSET/ROW">
    <br>Nom : <xsl:value-of select="NOM"/></br>
    <br>Prenom : <xsl:value-of select="PRENOM"/></br>
    <br>Compte Client : <xsl:value-of select="NUM_COMPTE_CLIENT"/></br>
    <h3>Credit</h3>
    <xsl:for-each select="CREDIT">
    <table border="1">
    <tr>
    <td>Titre</td>
    <td>Designation</td>
    </tr>
    <xsl:for-each select="CREDIT_ROW">
    <tr>
    <td><xsl:value-of select="TITRE_CREDIT"/></td>
    <td><xsl:value-of select="TITRE_CREDIT"/></td>
    </tr>
    </xsl:for-each>
    </table>
    </xsl:for-each>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>
    et merci.

  4. #4
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Renvois le bon content-type.

    En envoyant "text/html", le navigateur va afficher les données comme étant du HTML.

  5. #5
    Membre averti Avatar de clubist
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Points : 301
    Points
    301
    Par défaut
    Citation Envoyé par jowo Voir le message
    Renvois le bon content-type.

    En envoyant "text/html", le navigateur va afficher les données comme étant du HTML.
    expliques-toi svp !!!
    que dois je mettre au lieu de "text/html"

  6. #6
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    essaie avec "text/xml" ou "application/xml" mais je te conseille de te documenter sur le sujet ou bien tester ton application sur plusieurs navigateurs.

  7. #7
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    23
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par jowo Voir le message
    essaie avec "text/xml" ou "application/xml" mais je te conseille de te documenter sur le sujet ou bien tester ton application sur plusieurs navigateurs.
    Bonjour, je suis son binome donc je parle du même problème que clubist


    application/xml me donne une erreur d'execution xml et j'ai remarqué que dans le code source de la page qu'il y a plusieurs retours à la ligne avant la première balise xml : <?xml version="1.0"?>
    je pense que c'est le problème

  8. #8
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    23
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    y'a t il des idées pour afficher la première balise xml <?xml version="1.0"?> dala première ligne du fichier jsp??

    voici le résultat que j'obtiens :
    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
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    <?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/credit.xsl"?><ROWSET> <ROW>  <NOM>nabli</NOM>  <PRENOM>hatem</PRENOM>  <NUM_COMPTE_CLIENT>a001</NUM_COMPTE_CLIENT>  <CREDIT>   <CREDIT_ROW>    <TITRE_CREDIT>titre1</TITRE_CREDIT>    <DESIGNATION_CREDIT>designation1</DESIGNATION_CREDIT>   </CREDIT_ROW>   <CREDIT_ROW>    <TITRE_CREDIT>titre2</TITRE_CREDIT>    <DESIGNATION_CREDIT>designation2</DESIGNATION_CREDIT>   </CREDIT_ROW>  </CREDIT> </ROW> <ROW>  <NOM>nabli</NOM>  <PRENOM>hatem</PRENOM>  <NUM_COMPTE_CLIENT>a002</NUM_COMPTE_CLIENT>  <CREDIT>   <CREDIT_ROW>    <TITRE_CREDIT>titre2</TITRE_CREDIT>    <DESIGNATION_CREDIT>designation2</DESIGNATION_CREDIT>   </CREDIT_ROW>  </CREDIT> </ROW> <ROW>  <NOM>laabidi</NOM>  <PRENOM>taoufiq</PRENOM>  <NUM_COMPTE_CLIENT>a003</NUM_COMPTE_CLIENT>  <CREDIT>  </CREDIT> </ROW></ROWSET>
    Il faut que j'enlève les premières lignes vides...

    Merci

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    le conteneur fait exactement ce que vous demandez. Tout ce qui n'est pas balise JSP est envoyé tel quel, ceci inclu les espaces et retours à la ligne dans le fichier. Si vous ne voulez pas en avoir dans le document généré, n'en mettez pas dans la source.

  10. #10
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Allez voir ma réponse à ce problème page JSP "taciturne"

  11. #11
    Membre averti Avatar de clubist
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Points : 301
    Points
    301
    Par défaut
    En effet le problème a été résolu il faut pas laisser les retours à la ligne dans la source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><%String s = request.getParameter("p");
     
    if(s!=null){
    ...
    ..
    .
    Et je fais appel au fichier xsl en ajoutant la balise qui fait appel à l'xsl avec son adresse dans le serveur, car il y a été déployé.

    et merci à tous

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

Discussions similaires

  1. génération d'une page html à partir d'une asp
    Par bouzakher dans le forum ASP
    Réponses: 7
    Dernier message: 29/01/2009, 21h56
  2. Création d'une page html à partir d'un prog en C
    Par Adrilo dans le forum Bibliothèque standard
    Réponses: 3
    Dernier message: 22/01/2009, 17h36
  3. Réponses: 1
    Dernier message: 19/11/2008, 18h51
  4. Réponses: 7
    Dernier message: 14/05/2007, 16h31
  5. Afficher une page HTML à partir de code HTML
    Par lilou77 dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 18/01/2007, 11h52

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