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 :

Débug JSP : afficher la requête dans la page de sortie


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Points : 40
    Points
    40
    Par défaut Débug JSP : afficher la requête dans la page de sortie
    Bonjour,

    Je suis en train de mettre au point une jsp un peu plus avancée que ce que je fais d'habitude (un formulaire de filtrage multi-critère, en gros)...

    La requête est construite grace à différents filtres qui sont ensuite mis bout à bout pour construire ma requête.

    Ma question : comment transformer cette requete en texte que je puisse afficher dans une balise html afin de voir où ça coince ?

    J'ai essayé mais ce n'est pas aussi simple...

    Merci d'avance pour vos lumières !

    Bill

  2. #2
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    Salut

    un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(sqlQuery);
    t´affichera le contenu sur ta console.

    Eric

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Points : 40
    Points
    40
    Par défaut
    Merci Eric... Mais... je n'ai jamais utilisé la console pour mes jsp, je ne sais même pas comment y accéder :/
    Je précise que je ne suis pas le développeur de l'appli sur laquelle je travaille, par contre j'en étends les fonctionnalités via l'éditions de jsp.
    Mes 2 principaux outils sont les fichiers de log et le notepad ; et pour debuger quand j'ai ce genre de problème, je fais en sorte d'afficher mes variables directement dans le html de sortie.

    Oui, je suis pas très calé en environnement java

  4. #4
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    Travailles-tu aussi sur les methodes doGet() et doPost()?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Points : 40
    Points
    40
    Par défaut
    Non, pas du tout...

    j'ai du filtres.get et du getParameter (qui récupère les attributs choisis dans les filtres). Puis du query.append pour construire la requete SQL (l'objet query est un stringbuffer), mais le sqlQuery dont que j'aimerai visualiser est tout simplement un string... Peut être dois-je le convertir pour l'afficher (j'étais assez surpris de ne pas y arriver avec out.println().

    Je mets la jsp en pj... (c'est un peu en chantier, j'arrête pas de modifier/tester)filtrage_emplacements.zip

    ++

  6. #6
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    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 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Bonjour,

    Simplement avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = <% String.valueOf(sqlQuery) %>
    Mais sans l'espace entre "<" et "%" et l'espace entre "%" et ">" .

    Bonne soirée
    Bien le bonjour chez vous
    Jowo

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Points : 40
    Points
    40
    Par défaut
    Merci...

    Les espaces c'est juste pour ne pas interpréter en test Les noobs ont leurs hacks de noob

    Hélas, ça veut pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP: 
     
    Une erreur s'est produite à la ligne: 344 dans le fichier jsp: /resources/jsp/filtrageV3/filtrage_emplacements.jsp
    string cannot be resolved
    341: <body>
    342: <!-- DEBUG -->
    343: <div>
    344: sql = <% String.valueOf(sqlQuery); %>
    345: 
    346: </div>
    J'imagine qu'il faut déclarer une classe supplémentaire dans l'entête ?

  8. #8
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    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 413
    Points : 1 993
    Points
    1 993
    Par défaut
    sqlQuery est défini dans un bloc donc il n'est pas visible au niveau de la page JSP.

    C'est moche mais pour faire au plus simple. Il convient de mémorise sqlQuery comme attribut dans request
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // Emission de la requête
    String sqlQuery = "SELECT DISTINCT k_cim_emplacements.OBJECTID FROM "
    				+ tables.toString() + " WHERE " + clause;
    request.setAttribute("sqlQuery", sqlQuery);
    et de l'afficher ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sql = <%= request.getAttribute("sqlQuery")%>
    je ne peux pas vérifier le code donc à saisir avec intelligence
    Bien le bonjour chez vous
    Jowo

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Points : 40
    Points
    40
    Par défaut
    Hello, bon j'ai analysé mon code à tête reposée, ce que je n'avais pas fait à fond jusque là... Je testerai ta proposition un peu plus tard, avant j'ai déjà pas mal de trucs à revoir !

    Merci en tout cas, et bonne journée,

    Bill

    //edit : je ne suis pas arrivé à mes fins avec setAttribute/getAttribute :/
    ce n'est pas le out.println qui pose souci, j'arrive bien à écrire n'importe quelle chaîne, par contre le contenu d'une variable, pas... J'ai essayé de créer une var string "sqlDebug" pour lui affecter la valeur de la chaîne de sqlQuery, mais hélas toujours pas le résultat attendu

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Points : 40
    Points
    40
    Par défaut
    ça y'est j'ai trouvé... une belle erreur de noob (mauvaise gestion du rafraichissement de la page) :

    En déclarant ma variable sqlDbg en dehors des blocs (en gros au début du code, juste après les includes et la vérif du profil), puis en lui affectant, lorsque la sqlQuery est préparée, la valeur de cette dernière, je peux visualiser ma requête dans le html avec le out.println(sqlDbg) !

    Merci à tous !

    B.

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

Discussions similaires

  1. [couche présentation] Requête dans une page jsp
    Par FullOver dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 21/04/2008, 13h09
  2. afficher les erreurs dans la page jsp
    Par jawed84 dans le forum Struts 1
    Réponses: 6
    Dernier message: 04/01/2008, 18h54
  3. Afficher une servlet dans une page Jsp
    Par mouvma dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 28/06/2007, 17h00
  4. afficher l'arborescence dans une page jsp
    Par Ssimo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 17/05/2007, 11h58
  5. Réponses: 17
    Dernier message: 22/09/2006, 17h34

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