Je ne suis pas très expérimenté avec Struts I et mon problème est le suivant :
Je voudrais afficher un nombre variable de champs de saisie text dans un formulaire struts, ce nombre étant connu uniquement à l'exécution (passé en session).
Voici ce que j'ai pour le moment :
struts-config.xml :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <form-bean name="saisiePieceForm" type="SaisiePieceForm"> <form-property name="pieceList" type="java.util.List" /> </form-bean> ... <action attribute="saisiePieceForm" input="/resources/jsp/saisiePiece.jsp" name="saisiePieceForm" path="/saisiePiece" parameter="/resources/jsp/saisiePiece.jsp" type="SaisiePieceAction"> <forward name="success" path="/resources/jsp/main.jsp" /> </action>
java : formulaire avec un attribut pieceList + getter & setter standard, + getter indexé
jsp :
...
Evidemment, la liste de pieces attribut du Form étant vide, le tableau à une taille de 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <% int nbPces = SessionDataManager.getPieces(session); %> <html:form action="saisiePiece"> <table id="tableSaisieNumPiece" > <logic:iterate id="pieceList" name="saisiePieceForm" property="pieceList" indexId="i"> <tr><td class="tdPiece">Pièce :</td> <td><htm:input name="PieceList" property="pieceList[$(i)]" ></htm:input></td> </tr> </logic:iterate> <tr></tr> <tr><td></td><td><html:submit property="submit"> Ok </html:submit></input></td></tr> </table> </html:form>
Quelqu'un saurait me conseiller une méthode pour créer un nombre de lignes = nbPces et lier ces entrées à des éléments de la liste ?
Partager