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

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 40
    Points
    40
    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 é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
    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 du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 40
    Points
    40
    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 é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
    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 du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 40
    Points
    40
    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 é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
    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 ?

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 40
    Points
    40
    Par défaut
    bin si je suis en 1.4!
    en tete de web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

    <web-app>
    <!-- Emplacement des ressources pour les tags jstl:fmt (libelles) -->
    <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>ApplicationResources</param-value>
    </context-param>

    html:link (monFiltre est une property de mon form actuel. J'ai essayé aussi en créant un bean:define monFiltre):
    <html:link page="/afficherDocument.do?FILTRE=${monFiltre}" paramId="CODE_RECHERCHE" paramName="rechercheForm" paramProperty="codeRecherche">
    Bon finalement je suis passé par le contexte.
    Mais je suis toujours intéressé pour ma culture par la solution sans contexte

  8. #8
    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
    Je ne te parle pas de la version de Java mais de la version de J2EE.
    Pour plus d'infos, voir ici.

    Si tu étais en J2EE 1.4, tu aurais ceci dans le web.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd"
        version="2.4">
    Il faut donc que tu utilises la solution avec la tld struts-html-el.tld et ajoutes le nom du formulaire devant le nom de ta variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html-el:link page="/afficherDocument.do?FILTRE=${tonForm.monFiltre}" paramId="CODE_RECHERCHE" paramName="rechercheForm" paramProperty="codeRecherche">

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 40
    Points
    40
    Par défaut
    en effet

    je te remercie beaucoup

  10. #10
    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
    De rien.

+ 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