alex989 ha scritto:
Ciao ragazzi, sto sviluppando una pagina JSP con due form: uno relativo all'aggiornamento del cliente, cioè updatecustdet e l'altro relativo all'eliminazione (deletefromdetailslist). Il primo funziona correttamente, mentre il secondo no.
Mi ricordo che avevi già posto questa questione qualche settimana fa. In quella discussione non avevo notato una cosa che invece ho notato ora nel codice JSP. Andiamo con ordine.
Prima questione:
Per il update hai prima aperto il form
<form action="../updatecustdet" method="post">
e poi messo il
<c:forEach ........
Questo vuol dire che il ciclo è dentro il form, quindi se hai 2+ customer, vengono tutti "srotolati" dentro lo stesso form!! Se avessi 4 customer, ti ritrovi ad avere un form con 4 input name="cognome", 4 input name="nome" ecc....
E poi è vero che il submit è nel ciclo quindi per ciascun customer. Ma questo al form non interessa, se clicchi uno degli N pulsanti, il form invia TUTTO, ovvero i dati di tutti i customer emessi in output.
In uno scenario come questo, come pensi che il tuo updateCustomer nel controller possa funzionare??? Te lo dico io, non funziona!
Seconda questione:
Per il delete hai fatto un form separato. E' assolutamente BEN distinto dal form e forEach precedente. Il punto è che:
<input id="cust" name="customer" type="hidden" value="${customer.codicefiscale}"/>
Quel customer cosa è e da dove arriva?? Tieni presente che il customer ce l'avevi DENTRO il <c:forEach> ma dopo il forEach non c'è e non ha alcun senso usarlo!
----------------------
Riassumendo e concludendo: se vuoi che per ciascun customer ci sia 1 form di update e 1 form di delete, si
può fare benissimo MA devi ristrutturare e innestare ben diversamente le cose nella JSP.