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 de récupération d'une propriété avec formulaire


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 58
    Par défaut Problème de récupération d'une propriété avec formulaire
    Hello,


    j'ai un problème de récupération d'une propriété dans un formulaire JSP avec STruts.

    Résumé, voici mes POJOS de la couche modèle pour hibernate

    je dispose d'une classe Produit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Produit {
     Long id;
     String nomFr;
     String nomAngl;
     
     Client client;
    }
    je dispose d'une classe Client , sans importance ici mais je résume lol:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CLient {
    Long id
    String raisonSociale;
    }
    j'ai un formulaire de recherche rechercheProduit.jsp qui lance une action, cette action utilise un produitForm qui encapsule un produit :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    produitForm extends ActionForm{
    Produit produit;
    }

    cette action crée une liste de produit qui correspondent à ceux que je trouve par le formulaire recherche, elle met cette liste en request sous le nom d'attribut "listeFoundProduits" jarrive alors sur une page resultPage.jsp qui est encore un formulaire .

    Son but : cette page va itérer sur la liste des produit et dans un tableau, on aura sur chaque ligne un produit et une case à cocher. Quand on coche cette case, cela donne la value "id" du produit et l'action imprime le produit qui possède cette id dans la base..

    (le produitForm est mis en request. Donc il sera bien disponible sur la page resultPage.jsp )


    resultPage.jsp :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <html:form action="/produit" >
    
    <html:hidden property="action" value="genererBrochureProduits" />
    
    
    	<bean:size id="found" name="listeFoundProduits"/>
    
    	<b><bean:write name="found"/> produits trouvés</b><br>
    
    	<table>
    		<logic:notEqual name="found" value="0">
    			<tr>
    				<td class="onzeBW">Nom français</td>
    				<td class="onzeBW">Nom anglais</td>
    				<td class="onzeBW">Raison sociale</td>
    				<td class="onzeBW">Options</td>
    			</tr>
    		</logic:notEqual>
    		<nested:iterate indexId="indice" name="listeFoundProduits" id="currentProduit">
    			<tr>
    				<td class="onzeBW"><bean:write name="currentProduit" property="nomFr" /></td>
    				<td class="onzeBW"><bean:write name="currentProduit" property="nomAng" /></td>
    				<td class="onzeBW">
    						<nested:write name="currentProduit" property="client.raisonSociale" />
    				</td>				
    						
    				<td class="onzeBW" colspan="3">
    					<nested:root name="produitForm">
    						<nested:multibox property="isSelected" value="<bean:write name="currentProduit" property="id"/>" />
    						<bean:write name="currentProduit" property="id" /> -> pour afficher l'id du produit pour le debug...
    					</nested:root>
    				</td>								
    			</tr>
    		</nested:iterate>
    		<logic:notEqual name="found" value="0">
    			<tr>
    				<td><br><html:submit value="Imprimer la brochure" styleClass="bouton" /></td>
    			</tr>
    		</logic:notEqual>					
    	</table>
    						
    
    </html:form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    
    Tous les champs s'affichait bien avant que je mette cette partie
    
    <nested:multibox property="isSelected" value="<bean:write name="currentProduit" property="id" />" />
    ça me fait nne erreur de balise, Il aime pas, ça s'affiche pas.

    En mettant caremment une value, du style 33050 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    
    <nested:multibox property="isSelected" value="33050"/> 
    <bean:write name="currentProduit" property="id" />
    
    ça va marcher. Sauf que tous mes multibox n'ont pas l'id de leur produit respectif bien sur. Et via <bean:write name="currentProduit" property="id" />, la page m'affiche bien les id correspondants aux produits près des checkbox.

    l'action marche et m'imprime bien le pdf , mais bon quelque soit le multibox associé au produit que je coche il va mimprimer le pdf du produit 33050.

    J'aimerai donc récupérer l'id pour chaque produit mais je n'y arrive pas... quelqu'un sait til comment procéder?

    J'aurai bien essayé value=${currentProduit.id} mais il n'existe pas de taglib nested-el tout comme on en a avec html-el

    Merci d'avance !

    [ Modéré par Viena ]
    Ajout balises de code : Pensez aux balises [code], votre message est plus lisible et la lecture plus facile.

    Les Règles du Forum

  2. #2
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut
    Bonjour,

    effectivement, ce n'est pas possible d'imbriquer les tags.

    Plusieurs solutions :
    - scriptlet (bof)
    - EL si tu es en JSP 2.0
    - tout simplement
    Specify no value attribute, and the nested body content of this tag will be used as the value to be returned.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 58
    Par défaut
    Excellent chui content , la dernière solution marche impec, merci !

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

Discussions similaires

  1. Une erreur 233 de ms sql server
    Par Hokage dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/10/2009, 17h40
  2. Erreur 233 sous sql server
    Par brajae85 dans le forum Oracle
    Réponses: 3
    Dernier message: 18/05/2009, 16h12
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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