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

Struts 1 Java Discussion :

Probleme de parsing sous struts ...


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 58
    Points : 55
    Points
    55
    Par défaut Probleme de parsing sous struts ...
    Bonsoir, j'ai un ptit pb de parsing sous struts :

    Je récupère un attribut "listClients" dans la portée request, je veux faire un iterate dessus .. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <logic:notEmpty name="listClients"> 
    <table> 
    <logic:iterate indexId="indice" name="listClients" id="currentClient"> 
    <tr> 
    <td><bean:write name="indice" />.</td> 
    <td><bean:write name="currentClient" property="raisonSociale" /></td> 
    <td><bean:write name="currentClient" property="contact" /></td> 
    <td><html:link href="<%=request.getContextPath()+"/do/produit?id=<bean:write name="currentClient" property="id"/>"%>">Ajouter un produit</html:link></td> 
    <td><html:link href="<%=request.getContextPath()+"/do/listing?methodName=afficherProduit&id=265"%>">Obtenir les produits associés</html:link></td> 
    </tr> 
    </logic:iterate> 
    </table> 
    </logic:notEmpty>


    en gros il me met une erreur du genre

    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP

    Une erreur s'est produite à la ligne: 34 dans le fichier jsp: /index.jsp
    Erreur de servlet générée:
    Syntax error on tokens, delete these tokens
    ça en fait des longueurs ..lol
    Comment régler ce problème? en gros le 2e lien marche. le premier ne marche pas car il a du mal à digérer le <bean:write /> ...une autre solution à ce pb? je m'y prend surement pas de la bonne manière.. mais j'ai besoin de récupérer l'id du client qui est une propriété de l'objet Client (dans la liste des clients)... pour l'envoyer en parametre d'ul koa lol

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Essaye ça mais je ne suis pas convaincu du bon fonctionnement... peut-être faut-il tatonner un peu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:link href="<%=request.getContextPath()%>/do/produit?id=${currentClient.id}">Ajouter un produit</html:link>
    bon sinon y a d'autres moyens...
    Par contre, je ne suis pas sûr que soie obligé de mettre request.getContextPath(), un simple page="/do/produit" avec les attributs qui vont bien pour l'id, doit suffir...
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 58
    Points : 55
    Points
    55
    Par défaut
    Hélas, ça ne marche pas non plus (lib el/jstl incluses au projet)

    la page s'affiche correctement, en gros mon url quand je pointe dessus est :

    http://localhost/context/do/produit?id=${currentClient.id}
    Quand j'arrive dans l'action et que je parse le param String en Long, ça me met une exception..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Long id = Long.parseLong(request.getParameter("id"));
    en gros .. il ne récupère pas le param..

    quelqu'un aurait-il une autre solution?

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html-el:link href="/do/produit?id=${currentClient.id}">Ajouter un produit</html-el:link>
    Il faut rajouter la directive taglib suivante qui pointe sur la tld struts-html-el.tld :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib uri="/WEB-INF/struts-html-el.tld" prefix="html-el" %>
    Assure-toi que tu as bien copié cette tld sous WEB-INF sinon récupére-là.

    Il n'est pas utile de coder request.getContextPath(), le tag html-el:link le rajoute automatiquement.
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 58
    Points : 55
    Points
    55
    Par défaut
    Excellent, ça marche impec !

    En gros, les tags Struts-EL évalue correctement les EL, et la valeur passe bien en parameter dans le formulaire de saisie du produit !

    Ah oui, par contre, si <html:link> n'a pas besoin du <%=request.getContextPath() %>

    <html-el:link> en a besoin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <td><html-el:link href="<%=request.getContextPath()+ "/do/produit?id=${currentClient.id}"%>">Ajouter un produit</html-el:link></td>
     
    <td><html-el:link href="/do/produit?id=${currentClient.id}">Ajouter un produit 2</html-el:link></td>
    Le 2e lien n'affichera que : http://localhost:8080/do/produit?id=lavaleurbienévaluée

    il manque le context donc ..

    Merci !

  6. #6
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    En fait, il ne faut pas mettre le / devant do comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><html-el:link href="do/produit?id=${currentClient.id}">Ajouter un produit 2</html-el:link></td>
    Modératrice Java - Struts, Servlets/JSP, ...

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

Discussions similaires

  1. probleme avec submit javascipt struts sous google chrome
    Par abdel1985 dans le forum Struts 1
    Réponses: 0
    Dernier message: 29/10/2010, 16h16
  2. Problème de partitions sous Mandrake
    Par kaygee dans le forum Administration système
    Réponses: 12
    Dernier message: 30/01/2004, 08h26
  3. Problème Window manager sous Slackware 9.1
    Par Riko dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 30/01/2004, 07h38
  4. [TP]Probleme de compilation sous TP7
    Par yffick dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 18/12/2003, 20h32
  5. [Kylix] Probleme d'installation sous Mdk 9.1
    Par anderson2 dans le forum EDI
    Réponses: 4
    Dernier message: 25/05/2003, 18h27

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