View Full Version : [JSP] Problema dopo ricerca su db
DigitalKiller
28-06-2005, 11:23
In una pagina jsp impagino i risultati della ricerca su un db. Ad ogni riga di record estratti è associato un radiobutton e, cliccandoci, si passa ad una pagina di dettaglio relativa al record selezionato.
Il problema è questo: vorrei passare i dati che mi servono senza ricorrere alla riscrittura dell'indirizzo e senza fare una nuova connessione al db dalla pagina di dettaglio, ma utilizzando delle session. E' possibile una cosa del genere?
Spero di essere stato abbastanza chiaro
Cioè praticamente vorresti eseguire una sola query che carichi la prima pagina e momorizzi i dati nella sessione e poi al click sul radio venga aperta un'altra pagina ho un popup che visulizza anche altre informazioni di dettaglio.
Se ho capito bene a seconda di come la vui realizzare puoi utilizzare sessioni con altre pagine, sessioni e popup, o addirittura solo js.
Cosa scegli?? che cosi scendo in dettaglio.
DigitalKiller
28-06-2005, 12:01
Cioè praticamente vorresti eseguire una sola query che carichi la prima pagina e momorizzi i dati nella sessione e poi al click sul radio venga aperta un'altra pagina ho un popup che visulizza anche altre informazioni di dettaglio.
Se ho capito bene a seconda di come la vui realizzare puoi utilizzare sessioni con altre pagine, sessioni e popup, o addirittura solo js.
Cosa scegli?? che cosi scendo in dettaglio.
Si, vorrei eseguire la query solo all'interno della pgina di ricerca e nella pagina di dettaglio far comparire le informazioni relative al record selezionato.
Non so quale scegliere..dimmi tu quale conviene di più. Le mie sono delle pagine che "girano" solo su una rete locale
Be Mettiamo tutto in dettaglio:
Si apre la pagina di ricerca che esegue una query, e restituisce una pagina html con dei radio button ok.
Quando clicco sui radio button cosa succede:
1) mi si carica una nuova pagina con all'interno i dettagli di quel record, che avevo memorizzato precedentemente in sessione(qui pero mi cambia l'indirizzo della pagina ).
2)mi esce fuori una popup che apre sempre il dettaglio del regord memorizzato in sessione.
3)mi compare una tabella del tipo quelle che compaiono su questo forum quando clicchi sull'utente con all'interno i dati in dettaglio che sono gia presenti nella pagina html scaricata e non nella sessione del server.
Io comunque ti dico, che puoi memorizzare tutti i dettagli di tutti i record nella sessione ma non è una cosa molto performante!!!
DigitalKiller
28-06-2005, 12:23
Scusami, potresti essere più chiaro?
Comunque, non ho intenzione di memorizzare nelle sessioni i dettagli di tutti i record
Allora aspetta stiamo divagando un pò.
Carico la prima pagina, clicco sul button e compare(non si sa come) una seconda pagina che prende i dati di dettaglio dalla sessione Ok.
Quindi la prima pagina oltre a caricare e visualizzare i suoi dati deve anche caricare i dati di dettaglio in sessione Ok.
DigitalKiller
28-06-2005, 13:01
Cerco di essere più chiaro...
Richiamo la pagina di ricerca che, dato un parametro, mi effettua una ricerca sul db e mi stampa a video alcuni record. Ad ognuno di questi record ho associato un radiobutton con questo codice:
<input name="radiobutton" type="radio" onClick="getID()" value="<%= rs.getInt("IdClienti") %>">
Cliccando sul radiobutton, viene richiamata la funzione getID:
function getID(){
open('dettaglio.jsp', '_self');
}
e si apre la pagina di dettaglio.
in questo modo potrei passare facilmente le informazioni che mi interessano con la riscrittura dell'indirizzo, però, se alcuni campi che passo contengono caratteri particolari (virgole, punti, ecc) credo ke sorgano dei problemi (a dir la verità non ho fatto la prova, ma credo che sia così).
Potrei anche passare solo l'id del record e fare una query nella pagina di dettaglio, ma credo che sia solo un qualcosa di più.
Per questo motivo ho pensato alle sessioni, ma il problema è che non so come memorizzare solo le informazioni del record selezionato
Adesso ho più o meno capito, la soluzione migliore secondo me è che inserisci tutti i dati nell'url come get, non ti preoccupare per i caratteri speciali vengono decodificati in maniera automatica.
DigitalKiller
28-06-2005, 14:26
Volendo utilizzare dei campi nascosti in cui inserisco i valori che mi servono? Dalla pagina di dettaglio riesco a recuperare il valore di questi campi?
Per recuperare i valori dei campi nascosti devi inserirli all'interno di un form e poi eseguire il submit del suddetto.
Per eseguire il submit in js è sufficente: nomeform.submit(); (se non erro)
DigitalKiller
28-06-2005, 14:55
Per recuperare i valori dei campi nascosti devi inserirli all'interno di un form e poi eseguire il submit del suddetto.
Per eseguire il submit in js è sufficente: nomeform.submit(); (se non erro)
Grazie, provo in questo modo..
Ho fatto una prova..Se riscrivo l'indirizzo passando i valori del record selezionato, in presenza di caratteri particolari (io ho provato con l'apice) si verifica un errore
Per i caratteri speciali si utilizza la codifica (che dovrebbe essere automatica ) "%CC" dove "CC" sono le due cifre corrispondenti al carattere esedecimale in codifica ascii che si vuole inviare, per esempio invece del carattere 'a' puoi scrivere tranquillamente "%61", se vuoi prova ad aprire:
http://www.ansa.it
http://www.%61nsa.it
vedi cosa cambia ;)
Ciao
DigitalKiller
28-06-2005, 15:16
Per recuperare i valori dei campi nascosti devi inserirli all'interno di un form e poi eseguire il submit del suddetto.
Per eseguire il submit in js è sufficente: nomeform.submit(); (se non erro)
Si, in questo modo funziona!
Grazie per l'aiuto!!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.