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 :

[JSP] carac & dans URL et XML


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 36
    Points : 22
    Points
    22
    Par défaut [RESOLU][JSP] carac & dans URL et XML
    Bonjour,

    avec mes pages jsp, je genere du contenu XML.
    Dans ce contenu XML, il y a une balise <URL> qui contient comme son nom l'inqique une URL.

    le pb vient du ait que lorsque j'ecris une url de la forme
    www.server.com/page.jsp?id=0&nom=toto

    je dois transformer le carac & en &amp;

    Mais lorsque sur ma page page.jsp, je recupere les parametres
    String nom = request.getParameter("nom");
    nom = null.

    En effet lorsqu je regarde la queryString , j'ai
    id=0&amp;nom=toto ...

    Alors comment faire?
    Parce que d'un cote , celui du XML, faut que je mettre &amp;
    et de l'autre cote, celui du JSP, il n'aime pas...

    Nico. Merci

  2. #2
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    j'ai déja eu le meme pb.

    J'avais betement fait un encodeur d'un coté et un décodeur de l'autre.

    un replace("&"; "&amp") sur la querystring complete.


    Il doit y avoir une autre solution ( notament faire une section CDATA dans ton XML) meilleure.


    @+

  3. #3
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    il faut p-e empecher de l'interpreter:

    en XSL on fait ca avec

    <xsl:text disable-output-escaping="yes"><![CDATA[&]]></xsl:text>

    Du coup tu peux stocker des "&" simple au lieu de mettre des "&amp;"


    peut -etre que tu peux simplement ajouter la section CDATA a la main, sans XSL


    @+

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 36
    Points : 22
    Points
    22
    Par défaut
    En fait je suis tres limite question XML.
    Limite dans le sens ou le XML produit est parse par un parser de merde.
    Ya pas de XSL ou de possiblite de mettre CDATA.

    Je dois regler mon pb a partir du jsp.
    La solution bourin serait de decouper moi meme la queryString sans passer par request.getParameter("xxx");
    Mais bon, j'aiemrai trouver un autre solution.

    J'ai essaye de mettre a la place de "nom" "amp;nom" dan le getParameter, mais ca marche pas non plus.
    Le pire c que ca fait des trucs bizarre.
    Sur ma page page.jsp, qui recoit la querystring, je lui demamde de l'afficher.
    Qd je demande "nom", la questionstring est de la forme &amp;nom=xxx
    Qd je demande "amp;nom", la questionstring est de la forme nom=xxx

    Alors que sur la page prec qui contient l'URL, ca tjs la meme chose, cad
    &amp;nom=xxx


  5. #5
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    Ben essais la solution avec le replace.

    Il doit y avoir une méthode getQueryString() si je me souviens bien qui récupère la String complete non découpée.

    Sinon regarde si ton parser ne peut pas etre customiser avec des trucs genre

    parser.setDisableOutEscaping(true) ou dans un fichier de conf.

    le meiux c de retraiter ton url avant de l'envoyer ou de mettre un autre caractere genre @ et de faire une simple replace sur la string du XML.

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

Discussions similaires

  1. ajouter de token json et xml dans url
    Par diengkals dans le forum Android
    Réponses: 0
    Dernier message: 14/04/2011, 18h45
  2. Réponses: 11
    Dernier message: 29/07/2009, 10h31
  3. XML dans URL
    Par Grybukas dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 10/04/2009, 10h41
  4. [jsp][jetty]recuperer l'url dans la barre d'adresse
    Par maxvador dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 07/06/2004, 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