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 confirmé
    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
    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 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
    categories est bien une collection d'objets ayant une propriété id ?

  3. #3
    Membre confirmé
    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
    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 chevronné

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    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 confirmé
    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
    Par défaut
    Les balise de script ne sont pas interprétées

  6. #6
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    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 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 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}"/>

  8. #8
    Membre confirmé
    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
    Par défaut
    cela me renvoie une erreur:
    java.lang.IllegalArgumentException: can't parse argument number valKey

  9. #9
    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
    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 ?

  10. #10
    Membre confirmé
    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
    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 chevronné

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    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 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 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.

  13. #13
    Membre confirmé
    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
    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 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 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.

+ 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