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 :

[html:link] parametre URL dynamique


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Par défaut [html:link] parametre URL dynamique
    J'ai vu différents posts sur ce sujet
    Le problème c'est que ça ne marche pas chez moi...Mauvaise interprétation, manipulation, syntaxe...?

    Sur ma page, j'ai besoin de créer un lien avec des paramètres provenant de la saisie utilisateur d'un formulaire précédent

    J'ai donc déclarer le formulaire de la façon suivant remplace bean:define?)
    <c:set var="rechercheForm" value="${sessionScope.RechercheForm}"/>
    ensuite je crée mon lien en lui affectant la propriété codeRecherche du form rechercheForm comme ceci:
    <html:link page="/afficherDocument.do?" paramId="codeRecherche" paramName="rechercheForm">
    Or la valeur passée à l'URL est celle-ci:
    com.monExtranet.form.RechercheForm@196a753

    alors que je voudrais la valeur de la propriété

    Pouvez vous me dire ce qui ne va pas?

  2. #2
    Expert confirmé

    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
    Par défaut
    paramId est le nom du paramètre passé dans l'url.
    Il faut ajouter l'attribut paramProperty si tu veux passer la valeur de la propriété codeRecherche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:link page="/afficherDocument.do?" paramId="codeRecherche" paramName="rechercheForm" paramProperty="codeRecherche">

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Par défaut
    s'était aussi simple que ça!!!

    En fait j'ai mal lu la documentation
    J'avais compris que paramId était la property du bean indiqué dans paramName
    et que du coup le paramètre de l'url était obligatoirement le nom de la propriété.
    j'ai du lire une mauvaise source en français....


    Par contre si j'ai plusieurs paramètres suis-je obligé de définir une map?

  4. #4
    Expert confirmé

    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
    Par défaut
    Tu peux utiliser les EL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:link page="/afficherDocument.do?parm1=${propriete1}&parm2=${propriete2}" paramId="codeRecherche" paramName="rechercheForm" paramProperty="codeRecherche">
    Ceci fonctionnera si tu es en J2EE 1.4.

    Sinon, il faudra utiliser la tld struts-html-el.tld :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%@ taglib uri="/WEB-INF/struts-html-el.tld" prefix="html-el" %>
     
    <html-el:link page="/afficherDocument.do?parm1=${propriete1}&parm2=${propriete2}" paramId="codeRecherche" paramName="rechercheForm" paramProperty="codeRecherche">

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Par défaut
    bin chez moi ça ne marche pas:
    il ne m'interprete pas ${maVariable}
    j'utilise :
    c.tld
    fmt.tld
    struts-html.tld
    layout-tags.tld


    par contre les paramètres proviennent :
    2 du formulaire de recherche
    1 d'un autre bean

    En ce qui concerne la MAP
    J'ai la possiblité de créer une property map dans le formulaire de recherche et il faudrait que j'y inclue le 3ème éléments au moment de l'affichage dans la JSP car celui-ci dépend de la ligne de mon tableau

    ça à l'air un poil compliqué la gestion des données entre formulaire

    Vu que je suis débutant j'aimerai bien avoir votre avis sur la logique d'échange de données entre un formulaire de recherche et les autres formulaires dépendant. J'ai pensé passé par le contexte mais je ne sais pas si c'est judicieux dans la mesure ou plus l'application grandi plus le contexte sera lourd...

    Dans mon cas j'ai préféré récupérer le formulaire de recherche via le scope session pour récupérer les informations à travers ses property.
    d'ou mes questions sur la constructions de l'URL avec plusieurs paramètres

  6. #6
    Expert confirmé

    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
    Par défaut
    Si l'EL ${maVariable} n'est pas interprétée, c'est que tu n'es pas en J2EE 1.4.
    Peux-tu montrer le début de ton web.xml tout de même pour vérifier ?

    As-tu essayé la deuxième solution avec la tld struts-html-el.tld ?

    Et peux-tu montrer comment tu as codé le html:link ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/06/2010, 11h08
  2. Réponses: 3
    Dernier message: 10/10/2006, 21h25
  3. tag html link et passage de paramètre à url.
    Par david06600 dans le forum Struts 1
    Réponses: 1
    Dernier message: 22/08/2006, 14h22
  4. Réponses: 10
    Dernier message: 27/08/2004, 11h55
  5. Réponses: 5
    Dernier message: 12/05/2004, 16h37

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