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 :

[STRUTS][LOGIC]Attribute 'value' dynamique


Sujet :

Struts 1 Java

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut [STRUTS][LOGIC]Attribute 'value' dynamique
    Bonjour je cherche le moyen de faire le tag suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <logic:equal name="bean1" property="maProp1" value="bean2.maProp2"/>
    avec l attribut 'value' dynamique. Par exemple, la valeur serait associee a la valeur d une property d un autre bean dans un scope particulier. Ici la propriete 'maProp1' du bean 'bean1' doit etre egale a la propriete 'maProp2' du bean 'bean2'.

    Est ce possible? Je pense qu il faut utiliser JSTL (c.tld) mais si il y a une autre solution, je suis preneur

    Merci d avance
    ++

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Il me semble que tu pourrais mettre des scriptlet les scriptlet sont interpreté avant les tag (j'en suis pas sur mais bon ca mange pas de pain d'essayé).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    value="<%=((MonBean)request.getAttribute("monBean")).getMonAttribut()%>"

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Ben je ne veux pas mettre du code dans ma jsp
    Et je crois que ça ne marche pas avec struts, il l interprete en tant que tel
    Si vous avez une solution 100% tag lib...

  4. #4
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    peut être en utilisant le bean:define.
    tu défini avec ce tag une "variable" qui contient bean2.maProp2 et après c'est cette variable que tu utilises dans ton test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <bean:define id=var name=bean2 property=maProp2 />
    <logic:equal name="bean1" property="maProp1" value="var"/>

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    ouaip, viena doit avoir raison mais son le ptit bout de code <% %> est incontournable... moi non plus j'aime pas le code dans les jsp mais on y est parfois obligé...

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 105
    Points : 107
    Points
    107
    Par défaut
    Sinon tu fais dans ton <logic:equal> tu mets:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    value =${idDeTonBean}  // ton attribut qui est dans ta request...
    ou alors ${bean2.prop2}

    mais ca j'avoue j'ai jamais testé...

    (faut pas oublier de rajouter lle struts-html-el.tld (je crois que c'est celui la...) pour que ca interprète correctement...)

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Ok je vais regarde ça, et je vous tiens au courant
    LoulouFifi je pensais a ce tag la via la JSTL donc tu me confortes dans mon idee!!

    Merci a tous!!!

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Citation Envoyé par LoulouFifi
    Sinon tu fais dans ton <logic:equal> tu mets:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    value =${idDeTonBean}  // ton attribut qui est dans ta request...
    ou alors ${bean2.prop2}

    mais ca j'avoue j'ai jamais testé...

    (faut pas oublier de rajouter lle struts-html-el.tld (je crois que c'est celui la...) pour que ca interprète correctement...)
    J ai essaye, dans mon contexte, ça mais ça ne marche pas???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <logic:equal name="userBean" property="username" value="${addressBean.userBean.username}">
    je ne pense pas que le contenu entre {} soit evalue
    J ai importe la jstl, c bien ça

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par SEMPERE Benjamin
    je ne pense pas que le contenu entre {} soit evalue
    J ai importe la jstl, c bien ça
    Salut,

    La JSTL n'est pas obligatoire...
    Pour pouvoir utiliser les EL ( Expression Language = ${bean.property} ), tu dois utiliser J2EE 1.4 (Servlet 2.4 / JSP 2.0) et donc un serveur d'application compatible (tomcat 5.* par exemple).
    Si c'est déjà le cas, vérifie que ton web.xml utilise le bon schéma :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <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 
     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
     version="2.4"> 
        <!-- deployment elements go here -->
    </web-app>

    Si ton application utilise une version inférieur de J2EE, tu dois utiliser les scriplets Java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <logic:equal name="userBean" property="username" value="<%=addressBean.getUserBean().getUsername()%>">
    Enfin, dans les deux cas, dans le fichier XML *.tld qui représente la taglib, l'attribut du tag doit posséder la valeur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <rtexprvalue>true</rtexprvalue>
    (Il me semble que c'est le cas pour l'attribut value de logic:equals)

    Sinon seule les valeurs statiques sont authorisées et le contenu ne sera pas évalué...

    a++

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    ok merci adiGuba je vais y jete un coup d oeil!!!

  11. #11
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    ca marche merci!!

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

Discussions similaires

  1. [struts] Attribut "value" changeant dans checkbox
    Par javaSudOuest dans le forum Struts 1
    Réponses: 6
    Dernier message: 30/09/2005, 17h09
  2. Réponses: 2
    Dernier message: 07/07/2005, 19h11
  3. [Struts] <logic:equal> pb avec value ?
    Par Pwill dans le forum Struts 1
    Réponses: 3
    Dernier message: 03/06/2005, 10h57
  4. [Struts] logic:iterate avec un Vector
    Par laurentb dans le forum Struts 1
    Réponses: 18
    Dernier message: 03/03/2004, 15h42
  5. Réponses: 4
    Dernier message: 18/11/2003, 17h08

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