Visualizzazione dei risultati da 1 a 10 su 16

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Darèios89 Visualizza il messaggio
    La JSP in realtà prende quel valore che è il risultato di una function che esegue la query mediante un oggetto di un'altra classe che fa il lavoro...non so se è corretto.
    Sì ok, in questo senso è già meglio il fatto che il codice della query non sia materialmente nella JSP. Ma il fatto di mettere poi dello scriptlet ( <% ... %> e <%= .... %> ) nelle JSP non è comunque un buon approccio. Fattibile solo se non sei a conoscenza di altre soluzioni migliori (es. se non hai ancora studiato JSTL o altri framework specifici) e comunque per cose davvero "all'acqua di rose", come si dice.

    Quote Originariamente inviata da Darèios89 Visualizza il messaggio
    ovviamente devo inviare al Server nuovamente informazioni per cancellare la mia voce dal database.
    Sì, il client deve fare una richiesta HTTP in GET o POST.

    Quote Originariamente inviata da Darèios89 Visualizza il messaggio
    Io ottengo da una query una tabella con le prenotazioni di una pizzeria, ma non posso sapere a priori quante voci conterrà la tabella.
    Non ha importanza quanti sono ai fini di poter poi fare la cancellazione.

    Quote Originariamente inviata da Darèios89 Visualizza il messaggio
    Quindi come faccio a creare un form? Avrei pensato ai bottoni riga per riga, con un metodo onSubmit, solo che sono di coccio e non capisco come realizzare tutti questi bottoni con ID incrementali...
    Nella prima risposta ti ho fatto l'esempio sia dei link, sia dei pulsanti di submit (in form a sé stanti). Quale è il dubbio?
    Io ho scritto l'esempio HTML come "vedrebbe" il client. Chiaramente i valori degli ID, quei 1234, 1235 ecc.... li devi emettere tu "dinamicamente" nella JSP. Il resto è "template", ovvero fisso, iterato per le N righe.

    Riguardo il ID, allora:
    - o è un ID del record su DB, cioè il valore da una colonna fisicamente presente nella tabella su DB.
    - oppure è un indice in una tua struttura dati (array o lista) che però devi tenere sul server, presumibilmente in "sessione", in modo che sia la stessa dal momento in cui fai la query e generi la pagina al momento in cui facendo la richiesta per la cancellazione puoi indirizzare quell'elemento preciso.

    Ma anche se usi il secondo approccio, per cancellare il record su DB hai comunque bisogno di un ID del record in tabella.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Sì ok, in questo senso è già meglio il fatto che il codice della query non sia materialmente nella JSP. Ma il fatto di mettere poi dello scriptlet ( <% ... %> e <%= .... %> ) nelle JSP non è comunque un buon approccio. Fattibile solo se non sei a conoscenza di altre soluzioni migliori (es. se non hai ancora studiato JSTL o altri framework specifici) e comunque per cose davvero "all'acqua di rose", come si dice.


    Sì, il client deve fare una richiesta HTTP in GET o POST.


    Non ha importanza quanti sono ai fini di poter poi fare la cancellazione.


    Nella prima risposta ti ho fatto l'esempio sia dei link, sia dei pulsanti di submit (in form a sé stanti). Quale è il dubbio?
    Io ho scritto l'esempio HTML come "vedrebbe" il client. Chiaramente i valori degli ID, quei 1234, 1235 ecc.... li devi emettere tu "dinamicamente" nella JSP. Il resto è "template", ovvero fisso, iterato per le N righe.

    Riguardo il ID, allora:
    - o è un ID del record su DB, cioè il valore da una colonna fisicamente presente nella tabella su DB.
    - oppure è un indice in una tua struttura dati (array o lista) che però devi tenere sul server, presumibilmente in "sessione", in modo che sia la stessa dal momento in cui fai la query e generi la pagina al momento in cui facendo la richiesta per la cancellazione puoi indirizzare quell'elemento preciso.

    Ma anche se usi il secondo approccio, per cancellare il record su DB hai comunque bisogno di un ID del record in tabella.
    Allora creo la tabella delle prenotazioni con i bottoni che mi dirigono ad una pagina JSP che esegue la query, potresti darmi una mano nel realizzare il bottone? Sto uscendo pazzo con le virgolette....
    Questo è il codice dove genero la tabella con i vari bottoni che devono linkare alla pagina di rimozione dal database, il numero della riga da eliminare lo prendo con una funzione getString(numero); però il bottone non funziona, temo che qualche virgoletta non vada...


    codice:
    while (rs.next()) {                         ris += "<tr> <td align=left >"+rs.getString("ID") +"</td>"+
                             "<td align=left>"+rs.getString("NOME")+"</td>"+ "<td align=right>"+
                            rs.getString("COGNOME")+"</td>"
                                     +"<td ><input onclick=\"location.href='eliminaPrenotazione.jsp?'"+rs.getString("NUMERO")+"\" value=\"ELIMINA\" type=\"button\" /></td></tr>"; 
                        }

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Darèios89 Visualizza il messaggio
    temo che qualche virgoletta non vada...

    codice:
    while (rs.next()) {                         ris += "<tr> <td align=left >"+rs.getString("ID") +"</td>"+
                             "<td align=left>"+rs.getString("NOME")+"</td>"+ "<td align=right>"+
                            rs.getString("COGNOME")+"</td>"
                                     +"<td ><input onclick=\"location.href='eliminaPrenotazione.jsp?'"+rs.getString("NUMERO")+"\" value=\"ELIMINA\" type=\"button\" /></td></tr>"; 
                        }
    No, non ci siamo comunque. Se scrivi una cosa del genere in una JSP ti complichi solamente la vita! E molto ....
    Le JSP le devi vedere con un documento di testo/HTML/XML (o qualunque altro markup o testo che deve essere inviato al client) in cui la maggior parte è output "fisso", eventualmente ripetuto e in cui in mezzo ci sono parti che emettono in modo "dinamico" dei valori.

    Es.:

    codice:
      .... 
    
    <table>
    <% while (rs.next()) { %>
      <tr>
        <td><%= rs.getString("NOME") %></td>
        <td><%= rs.getString("COGNOME") %></td>
      </tr>
    <% } %>
    </table>
    
      ....

    E prima che eventualmente me lo chiedi: sì, come ho scritto è giusto che dopo rs.getString("NOME") non ci sia il ';' perché <%= %> è una "expression" JSP che nella servlet generata dalla JSP corrisponde ad un:

    out.write( la_espressione );
    che quindi diventa
    out.write(rs.getString("COGNOME"));

    se avessi messo il ';' sarebbe stato:
    out.write(rs.getString("COGNOME"););

    ovviamente sintassi Java errata.

    A parte il fattore estetico/concettuale l'unico problema che rimane è che così non viene fatto alcun "escape" dei caratteri speciali di HTML. Se un pezzo di output dinamico emette es. un '<' (minore), il tuo HTML risulterebbe sballato.
    Ultima modifica di andbin; 16-01-2014 a 21:37
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.