PDA

Visualizza la versione completa : [java] servlet


cayman
05-10-2004, 16:45
Ciao a tutti - Ho appena realizzato una servlet che permette di cancellare un record di un database

Chi mi da un suggerimento su come inserire una finestra o una richiesta di conferma alla cancellazione del record???

kateetak
06-10-2004, 13:29
Usa javascript. Fai una ricerca con il termine confirm.

Prima di chiamare la servlet chiedi la conferma all'utente.
Se l'utente da l'ok procedi con la cancellazione (quindi richiami la servlet), altrimenti non fai nulla.

:ciauz:

Salvatore85
06-10-2004, 13:51
Lo puoi fare benissimo anche una form.

kateetak
06-10-2004, 13:56
Originariamente inviato da Salvatore85
Lo puoi fare benissimo anche una form.

Cosa intendi?

Salvatore85
06-10-2004, 14:07
Si crea una form in html con dei radio button per la conferma, e con la servlet si ricavano i valori della scelta dell'utente tramite un oggetto HttpServletRequest.

kateetak
06-10-2004, 14:53
Certo Salvatore85 ma così sono 2 richieste al server per chiedere una banale conferma di cancellazione. Inoltre la prima richiesta deve portarsi appresso i dati del record da cancellare per passarli alla seconda.
Io inoltrerei al server solo la richiesta confermata da un javascript.

:ciauz:

Fox82
06-10-2004, 15:08
Originariamente inviato da kateetak
Certo Salvatore85 ma così sono 2 richieste al server per chiedere una banale conferma di cancellazione. Inoltre la prima richiesta deve portarsi appresso i dati del record da cancellare per passarli alla seconda.
Io inoltrerei al server solo la richiesta confermata da un javascript.

:ciauz:

Non fa una piega, però se il javascript è disabilitato i controlli lato client non funzionano.

Per una questione di accessibilità sarebbe meglio usare entrambi i metodi (ovviamente se lato client funziona il controllo sul server viene saltato)

kateetak
06-10-2004, 15:19
Hai ragione fox82 però c'è anche da dire che se un utente disabilita js e sceglie di cancellare un record, lo cancella.
Cioè non eseguo un'azione che non aveva chiesto ma una che aveva selezionato. Se si è sbagliato è un problema suo che schiaccia i tastini a caso.
E' giusto aiutare gli utenti e prevenire i loro errori... ma se sbagliano devono anche arrangiarsi.

Il succo del discorso è, mia personale opinione, di non esagerare mai con i controlli su quello che fa l'utente lasciando anche a lui buona parte della responsabilità.

:ciauz:

Fox82
06-10-2004, 18:21
Certo, hai ragione, non si può stare dietro a tutto!

Avevo sollevato l'obiezione solo per sottolineare che i controlli lato client non sono mai sicuri al 100%

Comunque è giusto che l'utente sia consapevole di ciò che sta facendo

:ciauz:

cayman
07-10-2004, 12:23
Io ho provato ad impostarlo in questo modo all'interno di doPost:

[CODE]
// Recupero il codice
String codice = request.getParameter( "codice");

// Controllo cancella
String cancella = request.getParameter( "cancella");
if( cancella == null) {
// Conferma cancellazione utente
out.println( "<form action="+PATH+" method=\"POST\">");
out.println( "<input type=hidden name=cancella value=0>");
out.println( "<input type=hidden name=codice value="+codice+">");
out.println( "<input type=submit value=\" Conferma \">");
out.println( "</form>");
} else {
// Codice per la cancellazione del record
}
[/CODE ]

Come vi sembra???

Loading