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 :

Probleme de quote dans la directive include


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Probleme de quote dans la directive include
    Bonjour,

    J'ai un code très simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    <%
         String p = request.getParameter("p");
         if (p.equals("null"))
              p = "index";
         p = "pages/" + p + "/title.jsp";
    %>
     
    <jsp:include page='<%=p%>' />
    En gros il me récupère le paramètre "p" pour pouvoir faire l'include avec le bon dossier. Jusque la c'est cool !

    Par contre j'ai cette erreur la:
    Le fichier &quot;/pages/index/title.jsp&quot; n'a pas été trouvé

    Ma question est comment faire pour qu'il m'enlève &quot; ?

    Merci,

    Hugo.

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Aucune idée ?

    J'ai essayé avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      <%@ include file='<%=p%>'%>
    Il ne m'interprète pas <%=p%> il me l'affiche telle quel
    Le fichier "./templates/default/<%=p%>" n'a pas été trouvé.

    Ainsi que plusieurs autres façons du même type mais sans succès

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Par rapport à ton premier essai, la page que tu veux inclure se trouve où par rapport à la page que tu affiches ?
    Tel que c'est codé, elle devrait être dans un sous répertoire "pages" dans l'endroit où est la page.
    Peut-être voulais-tu un chemin par rapport à la racine, auquel cas, il faut rajouter le "/" devant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    p = "/pages/" + p + "/title.jsp";

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Voici mon arborescence:

    templates
    |
    |--default
    |
    |--pages
    |
    |--index
    |
    |--title.jsp

    et le fichier design.jsp qui est dans le dossier default et qui contient le code qui appelle title.jsp

    Mais quand j'écris le chemin du fichier en dur dans l'include
    <%@ include file="pages/index/title.jsp"%> ca fonctionne.

    Par contre avec
    <jsp:include page="pages/index/title.jsp"/>
    ca ne fonctionne pas!

    et encore moins quand je mets <%=p%>

    De plus j'ai essayé tous les chemins possibles (relatif, absolu, changement de place du script) rien a faire ca ne veut pas.

    Merci de vos réponses,
    Hugo.

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Tu as une directive "<base>" dans ta page ?
    Sans elle, ça devrait fonctionner...

    Si tu veux vraiment t'affranchir de ces problèmes, le plus simple est de passer par un chemin à partir de la racine.
    Je construirais la référence comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    String path = request.getContextPath() + "/pages/";
    String p = request.getParameter("p");
    if (p == null) p = "index";
     
    path += p + "/title.jsp";

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Non pas de directive <base> mais bizarrement au bout de 400 refresh ca c'est mystérieusement débloqué... et encore, ca ne fonctionne qu'une fois sur deux (même si dans les deux fois à chaque fois je vide le cache du browser et restart le serveur!).

    Je ne sais pas Je pars pour une semaine je verrai ca à mon retour!

    Merci, beaucoup et bonnes fêtes!

    Hugo.

Discussions similaires

  1. [Débutant] probleme quote dans variable
    Par Ashireon dans le forum VB.NET
    Réponses: 10
    Dernier message: 29/08/2012, 11h48
  2. Réponses: 7
    Dernier message: 23/05/2012, 09h00
  3. AWK, probleme de quote dans fonction awk.
    Par damien_27 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 18/03/2009, 18h51
  4. [VB]probleme double quote dans une ressource de type string
    Par JulienCEA dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/02/2006, 12h38

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