Credo di aver sottovalutato la cosa, comunque ecco come ho fatto per generare la tabella che mostra i valori di cui poi fare una POST:
Poi alla pressione del tasto Aggiorna vengo reindirizzato ad un'altra JSP che effettua l'update e che poi mi rimanda a questa JSP che mostra i risultati.codice:[ottengo i valori di username e password per il DB] <form name="f" action="doupdate.jsp" method="POST"> <table BORDER="1"> <tr><th>Nr.</th><th>attributo1</th><th>attributo2</th></tr> <% try{ String MY_URL = "jdbc:mysql://localhost/nomedatabase"; Class.forName(MY_DRIVER); Connection c = DriverManager.getConnection(MY_URL,LOGIN, PASSWD); Statement s = c.createStatement(); ResultSet rs = s.executeQuery("SELECT id, attr_1, attr_2 FROM nome_tabella"); String attr_1="", attr_2=""; int row=0; while(rs.next()){ attr_1 = rs.getString("attr_1"); attr_2 = rs.getString("attr_2"); row = rs.getInt("id"); %> <tr><td><input type="text" name="id<%=row %>" value="<%=row %>" size="2" READONLY/></td> <td><input type="text" name="attr_1<%=row %>" value="<%=attr_1 %>" size="50"/></td> <td><input type="text" name="attr_2<%=row %>" value="<%=attr_2 %>" style="text-transform:uppercase;" onkeyup="this.value=this.value.toUpperCase()"/></td></tr> <% } session.setAttribute("username", LOGIN); session.setAttribute("password", PASSWD); }catch (SQLException s){ // se cado qui, in genere era per username o password errate response.sendRedirect("loginfailed.jsp"); } %> </table> <input type="submit" value="Aggiorna"> </form>
Comunque problemi con caratteri speciali mi pare di non averne avuti. Non è previsto l'uso di doppi apici e lettere con la dieresi le prende senza problemi. Al limite potrei inserire un javascript che mi mostra un messaggio che impedisce l'uso di caratteri speciali.

Rispondi quotando