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 :
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
5
6
7 Produit { Long id; String nomFr; String nomAngl; Client client; }
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
4 CLient { Long id String raisonSociale; }
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>ça me fait nne erreur de balise, Il aime pas, ça s'affiche pas.
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" />" />
En mettant caremment une value, du style 33050 :
ç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.
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" />
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
Partager