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 :

problème variable classique jsp <% et bean:write


Sujet :

Struts 1 Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 14
    Points : 9
    Points
    9
    Par défaut problème variable classique jsp <% et bean:write
    Bonsoir

    alors voilà j'ai un petit souci dans le code de ma JSP et je ne vois vraiment pas de solution pour le moment

    Voilà le pb :

    En gros je récupère deux listes une liste comportant des éléments initiaux et une liste comportant des éléments disponibles

    genre j'ai un panier avec 1 boulon dedans et je peux remplacer ce boulon par 1 marteau ou un tournevis
    bref j'affiche une liste déroulante avec en premier champ le champ initial (le boulon par exemple) et le reste de ma liste est composé des éléments disponibles autres que le boulon (l'élément initial faisant potentiellement parti de la liste disponible...). Je ne sais pas si je suis très clair jusqu'ici mais bon c'est pas très simple à expliquer

    Donc j'en arrive à avoir besoin de virer de ma liste déroulante un élément qui se trouverait en doublon avec mon élément initial...Pour ce faire je voulais récupérer l'élément initial dans une variable (String) afin d'utiliser la balise <logic:notEqual ou <logic:notMatch lors de la construction de la deuxième partie de ma liste déroulante.

    Mon problème est le suivant : je n'arrive pas à mettre le contenu d'un <bean:write...> dans une variable JSP basique <% mavariable=..%>


    est-ce possible ou pas ?
    Si oui ou me suis-je planté ?
    Si non comment puis-je faire sans avoir à remanier tout mon code au niveau de la création du Form ?

    voici un morceau de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <%String mavariable = "";%>
    <logic:iterate id="initialPiecesIt" name="modifAssemblage" property="initialPieces">
    <logic:equal name="initialPiecesIt" property="pieceType" value="1">	
    
    <% mavariable="<bean:write name="initialPiecesIt" property="description"/>";%> <= ça ça marche pas !!!
    </logic:equal>
    </logic:iterate>
    <select value="choisir..." name="initialPiecesTete" size="1"
    id="selTete"	onchange="popup('selTete')" >
    <option selected="selected">
    <logic:iterate id="initialPiecesIt" name="modifAssemblage" property="initialPieces">
    <logic:equal name="initialPiecesIt" property="pieceType" value="1">
    <bean:write name="initialPiecesIt" property="description" />
    </logic:equal>
    </logic:iterate>
    </option >
    <logic:iterate id="disponiblesPiecesit" name="modifAssemblage" property="disponiblesPieces">
    <logic:equal name="disponiblesPiecesit" property="pieceType" value="1">
    <logic:notEqual name="disponiblesPiecesit" property="description" value="<%=mavariable%>">
    <option>
    <bean:write name="disponiblesPiecesit" property="description" />
    </option>
    </logic:notEqual>
    </logic:equal>
    </logic:iterate>
    </select>
    merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 71
    Points : 77
    Points
    77
    Par défaut
    Salut,

    Si tu veux mon avis, même si dans ton post tu précises que tu veux modifier le moins de choses possibles, il me paraîtrait plus logique de ne pas faire ceci dans ta couche présentation mais plutôt dans une classe de type Action (vu que tu utilises Struts) car tu n'es pas censé faire ce genre de chose dans ta jsp qui n'est là que pour gérer la partie présentationn de ton application.

    @+

    derek.mf

  3. #3
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Non il n'est pas possible de recuperer une valeur en utilisant un bean:write. Mais il ne faut pas oublier que bean:write ne fait qu'écrire une property de ton bean.

    Donc tu peux tout simplement récuperer la valeur contenu dans ton bean, ici plusieurs solution s'offre à toi.

    Recuperer ton bean puis faire un get dessus. Ou utiliser la forme simplifier du type ${bean.property}.

    En gros :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% mavariable="<bean:write name="initialPiecesIt" property="description"/>";%> <= ça ça marche pas !!!
    donnerais plutot quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <% mavariable = ((TypeDeTonBEAN)request.getSession().getAttribute("initialPiecesIt")).getDescription(); %>
    ATTENTION ICI j'ai fait un getSession(), si ta variable n'est pas dans Session il faut faire le necessaire (changer le code en fonction)

Discussions similaires

  1. Utiliser une valeur <bean:write /> dans ma jsp
    Par susu39 dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/01/2011, 11h12
  2. Réponses: 3
    Dernier message: 10/08/2007, 16h07
  3. [Tomcat 5] problème de JSP et de bean
    Par squal_13 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 29/11/2004, 13h27
  4. [jsp] bean:write dans un appel js
    Par viena dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 18/10/2004, 15h15
  5. [Struts][JSP] Format avec bean:write
    Par cowa dans le forum Servlets/JSP
    Réponses: 20
    Dernier message: 19/05/2004, 18h16

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