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] récupérer valeur pour paramètre


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 85
    Points
    85
    Par défaut [html:link] récupérer valeur pour paramètre
    bonjour,

    je voudrais récupérer l'id d'une variable et le mettre dans la liste de paramètres, pour ça je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <logic:iterate name="categories" id="cat">			
      <html:link action="/reports?method=reportSubcategories" paramId="category" paramName="cat" paramProperty="id">
        <bean:write name="cat" property="name" />
      </html:link>
    </logic:iterate>
    Quand je teste la propriété category ne contient pas l'id mais la valeur de cat

    Pouvez vous m'aider?

  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
    categories est bien une collection d'objets ayant une propriété id ?
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 85
    Points
    85
    Par défaut
    problème resolu (javais fait une erreur à un autre niveau)

    mais j'ai un autre problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:link action="/reports?method=areaTypes" paramId="reporttypeid" paramName="reportId">
      <bean:message key="pod.reporting.reporttypes.${reportId}"/>
    </html:link>
    avec ela il me met "can't parse argument number reportId"

    comment faire pour concaténer le reportId avec le début de la clé?

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    sans conviction (et sans avoir testé!), je propose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      <bean:message key="<%= "pod.reporting.reporttypes" + ${reportId}%>"/>

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 85
    Points
    85
    Par défaut
    Les balise de script ne sont pas interprétées

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Points : 39
    Points
    39
    Par défaut
    Sans convictions, t'as essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:link action="/reports?method=areaTypes" paramId="reporttypeid" paramName="reportId">
      <bean:message key="pod.reporting.reporttypes"/><bean:write name="${reportId}"/>
    </html:link>

  7. #7
    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 devrais pouvoir t'en sortir avec la JSTL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <c:set var="valKey" value="pod.reporting.reporttypes.${reportId}"/>
    <fmt:message key="${valKey}"/>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <c:set var="valKey" value="pod.reporting.reporttypes.${reportId}"/>
    <bean:message key="${valKey}"/>
    Modératrice Java - Struts, Servlets/JSP, ...

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 85
    Points
    85
    Par défaut
    cela me renvoie une erreur:
    java.lang.IllegalArgumentException: can't parse argument number valKey

  9. #9
    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
    Montre ce que tu as codé exactement.

    Sinon, quelle version de J2EE utilises-tu ?
    Si tu ne le sais pas, montre-nous les premières lignes de ton web.xml.

    EDIT : dans ta jsp, tu as bien ajouté la directive taglib qui pointe sur la librairie core ?
    Modératrice Java - Struts, Servlets/JSP, ...

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 85
    Points
    85
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
     
    ...
     
    <logic:iterate name="reportTypes" id="reportId">
      <html:link action="/reports?method=areaTypes" paramId="reporttypeid" paramName="reportId">
        <c:set var="valKey" value="pod.reporting.reporttypes.${reportId}"/>
        <bean:message key="${valKey}"/>
      </html:link>
    </logic:iterate>
    web.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?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>

  11. #11
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    si tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:write name="{valKey}"/>
    tu as bien "pod.reporting.reporttypes.X" qui s'affiche où X est un int?

  12. #12
    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 es en J2EE 1.3 donc l'uri est plutôt celle-là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
    et code plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       <bean-el:message key="${valKey}"/>
    en ajoutant la directive taglib qui pointe sur struts-bean-el.tld.
    Modératrice Java - Struts, Servlets/JSP, ...

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 85
    Points
    85
    Par défaut
    mmm je pense que mon web.xml n'est pas correct car je suis en 5.0

    je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <%String var = new String("pod.reporting.reporttypes." + reportId);%>
    <bean:message key="<%=var%>"/>
    et cela fonctionne

    tanpis pour le script

    merci de vos réponses!

  14. #14
    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 abandonnes bien vite je trouve.
    Enfin, c'est bien dommage d'utiliser des scriptlets alors que cela peut fonctionner sans, que l'on soit en J2EE 1.3 ou 1.4.
    Mais bon, c'est ton choix.
    Modératrice Java - Struts, Servlets/JSP, ...

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

Discussions similaires

  1. html:link avec indexId en paramètre
    Par khsam2001 dans le forum Struts 1
    Réponses: 2
    Dernier message: 10/10/2008, 15h30
  2. [html:link] comment passer 2 paramètres
    Par chennuo dans le forum Struts 1
    Réponses: 3
    Dernier message: 22/11/2007, 09h12
  3. Réponses: 2
    Dernier message: 20/02/2007, 16h37
  4. 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
  5. [Struts] html:link et passage de paramètres
    Par nikalkal dans le forum Struts 1
    Réponses: 9
    Dernier message: 09/02/2006, 21h34

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