J'ai une JSP où je montre la date et la description de la base de données. Chaque entrée a un identifiant unique, mais je ne montre pas sur la page (montrant la case à cocher) Ces entrées sont lancées en utilisant une "logique: itérer", donc le nombre de lignes change toujours en fonction des entrées. Maintenant, ces champs sont affichés en tant que champ de texte afin que l'utilisateur peut également mettre à jour la date ou la description. Une case à cocher est à gauche afin que l'utilisateur puisse sélectionner toutes les valeurs qu'il souhaite mettre à jour. Rappelez-vous la logique: itérer ci-dessus, la case à cocher doit être définie en utilisant le nom et ne peut pas avoir d'ID.Erreur dans mes entretoises Classe d'action
...
...
<logic:notEmpty name="specialResult" scope="request">
<logic:iterate name="specialResult" id="specialResult" indexId="index">
<tr align="center">
<td width="15%">
<input type="checkbox" name="upisActive" property="upisActive"
value="<bean:write name="specialResult" property="upId"/>"></input></td>
<td width="15%"><input type="text" name="upDate" value="<bean:write name="specialResult" property="upDate"/>"
property="upDate" size="20" class="Date" id="Date"></input></td>
<td width="15%"><input type="text" name="upDesc" value="<bean:write name="specialResult" property="upDesc"/>"
property="upDesc" size="20" id="Desc"/></td>
</tr>
</logic:iterate>
...
Mon erreur est que si j'ai trois lignes et je veux mettre à jour la troisième ligne et sélectionnez la troisième case. Ma classe Action récupère la date et la descente de la première ligne. Comment puis-je modifier ma classe d'action pour récupérer la valeur par rapport aux cases cochées?
public ActionForward class(ActionMapping mapping, ActionForm theForm,
HttpServletRequest request, HttpServletResponse response) throws IOException,
SQLException, ServletException
{
Connection conn = null;
Service Serv = new Service();
List updList = new ArrayList();
Form upForm = (Form) theForm;
String[] values = request.getParameterValues("upisActive");
try
{
conn = getConnection(request, false);
for (int i=0;i<values.length;i++){
VO hdvo = new VO(); //Vo class with getters and setters
val = values[i];
hdvo.setDate(upForm.upDate[i]);
hdvo.setDesc(upForm.upDesc[i]);
updList.add(hdvo);
}
hdServ.updTest(updList, conn);
...
Je ne fais pas Struts, alors voici juste un indice pour vous aider à une étape supplémentaire: Ouvrez la page dans webbrowser, rightclick et choisissez * Afficher la source *. Est-ce que tout semble bien? – BalusC