View Full Version : html+jsp saltare da pagina a pagina
luana.neri80
06-06-2003, 10:12
ciao,
ho realizzato una serie di pagine in jsp che accedono a un db.
ho un problema.
nella prima pagina ottengo delle tuple tramite ricerca nel db
nella seconda catturo le tuple precedenti usando form di tipo hidden
nella terza mi servirebbe passare prima da un login, verificare i dati dell'utente e poi ritornare alla seconda pagina e fargli continuare la ricerca
mi chiedo
come faccio a non perdere le informazioni (tuple) ottenute nella seconda pagina? Passarle con riferimento .....pagina.jsp?id=PRIMO&id2=SECONDO ecc. non mi sembra il massimo.... :(
luana.neri80
06-06-2003, 10:13
esiste un metodo in jsp o html per ritornare alla pagina precedente?
(non un link alla pagina precedente, s'intende!)
un metodo identico al BACK del browser?
francescarocchi79
06-06-2003, 10:35
il tuo problema è molto complesso ma insistisci che ci riusci
francescarocchi79
06-06-2003, 10:36
il tuo problema è molto complesso ma insistisci che ci riusci
Posto che non conosco JSP...credo che una cosa molto semplice sia di salvarsi una specie di history (con una coda circolare di, che so, 5-10 elementi) all'interno della sessione...
Oppure più semplicemente salvarti nella sessione l'ultima query fatta sul DB...
TheNeverHood
06-06-2003, 11:27
in JavaScript c'è un comando che ti può servire
history.back();
lo puoi usare come riferenza diretta, cioè che ci vadi se ha scritto male la password oppure a modo di funzione che richiami da dentro il form con un submit.
allora dipende molto da quanti dati devi salvere e poi io sinceramente la login la farei prima della ricerca appunto per evitare questi salti.
Comunque in generale puoi creare un array o una hashtable che contenga i tuoi dati e lo metti in sessione(se il tuo webserver usa le sessioni ma credo di si visto che usate le autenticazioni)
per salvere i dati in sessione devi solo scrivere
session.put("nomevariabile",variabile)
poi per tornare alla pagina usi la riga di codice
response.sendredirect("linkallapagina")
naturalmente devi impostare la pagina della ricerca in modo da riuscire a prelevare i dati dalla sessione
per fare questo metti un if di questo tipo
if(session.get("nomevariabile")!=null)
(tipo di variabile da istanziare) pippo = (cast variabile)session.get("nomevariabile");
spero di essere stato chiaro
fammi sapere :D
luana.neri80
06-06-2003, 11:35
la history di cionci mi pare interessante....
e se dovessi andare di due pagine e conservare le variabili della pagina?
(senza dover fare ?id=...&id2=...& ...)
beh puoi fare la history(-2) per tornare ma secondo me non e' un lavoro fatto bene
Se usi sempre il metodo GET la history funziona anche in quel caso... Fai un redirect (come ti ha detto Bardak) non all'ultima, ma alla pagina ancora precedente...
Se invece usi anche il POST allora fai prima a salvarti la query dammi retta ;)
Originally posted by "Bardak"
beh puoi fare la history(-2) per tornare ma secondo me non e' un lavoro fatto bene
Ma non con la history del browser (anche secondo me non è molto sicuro)...ma con una history implementata nella sessione...
ma la history in sessione viene un puttanai...........mah secondo me e' tanto comodo il send redirect :(
luana.neri80
06-06-2003, 12:00
rispondo a bardak,
vediamo se ho capito:
nella mia pagina 1 di ricerca dovrei salvare i risultati ottenuti facendo:
session.put("nomevariabile1",variabile1)
session.put("nomevariabile2",variabile2)
session.put("nomevariabile3",variabile3)
e nella pagina N richiamare:
response.sendredirect("linkallapagina1")
e sempre qui fare l'if?
if(session.get("nomevariabile")!=null)
String pippo = String session.get("nomevariabile");
se è cosi' ci provo subito
mille baci :-*^n
luana.neri80
06-06-2003, 12:08
...non funziona :cry:
ho bisogno di un'approfondimento sulle sessioni
cacchio scusaaaaa
la riga giusta e'
session.putValue("",);
e session.getValue();
perdonooooooooo :muro: :muro:
il troppo lavoro mi uccide :sofico:
luana.neri80
06-06-2003, 12:18
ti perdono solo tra qualche minuto, quando verificherò .... :o
scherzo!!!!
:D
Ti ringrazio fin d'ora per l'aiuto che mi stai dando :-*
http://forum.hwupgrade.it/faccine/54.gif
Di niente quando vuoi :D :D :pig:
:sofico:
luana.neri80
06-06-2003, 12:29
String pippo=new String();
if(session.getValue("id")!=null)
pippo = session.getValue("id");
errore:
Generated servlet error:
D:\Program Files\Apache Tomcat 4.0\work\Standalone\localhost\progetto\Copy of Copy of ricerca-login-prenotazione\prenotazione$jsp.java:148: Incompatible type for =. Explicit cast needed to convert java.lang.Object to java.lang.String.
pippo = session.getValue("id");
^
:muro:
Originally posted by "luana.neri80"
errore:
Generated servlet error:
D:\Program Files\Apache Tomcat 4.0\work\Standalone\localhost\progetto\Copy of Copy of ricerca-login-prenotazione\prenotazione$jsp.java:148: Incompatible type for =. Explicit cast needed to convert java.lang.Object to java.lang.String.
pippo = session.getValue("id");
^
:muro:
ma cacchiarola te lo avevo detto devi fare il cast :mad: http://forum.hwupgrade.it/faccine/11.gif
String Id="";
if(session.getValue("id")!=null)
Id = (String)session.getValue("id");
P.S.
Non ho pazienza ahahahahah
e comunque le faccine erano scherzose
http://forum.hwupgrade.it/faccine/50.gif
luana.neri80
06-06-2003, 12:43
http://forum.hwupgrade.it/faccine/45.gif
TheNeverHood
06-06-2003, 12:43
in caso che vuoi un esempio interesante su questo argomento...
http://www.javaworld.com/jw-03-2000/jw-0331-ssj-forms.html?040400txt
si tratta di FormHandler.....
mi fai arrosire :D
comunque deduco abbia funzionato eheheheh sono tre anni che lo faccio per lavoro ero sicuro funzoinasse ahahahahahah :sofico:
:p
alphacygni
06-06-2003, 14:06
comunque a voler essere pignoli tocca usare setAttribute("name", Object) e getAttribute("name") perche' putValue e getValue sono deprecati :D
Cmq il cast e' obbligatorio poiche' getAttribute torna una istanza di Object e non della classe originaria ;)
luana.neri80
06-06-2003, 22:06
dopo un pomeriggio di lavoro non sono riuscita a risolvere tutti i problemi,
i dati che catturavo con delle checkbox non sono riuscita a prenderli utilizzando session!!
Staro' sveglia stanotte per cercare una soluzione
GRazie a tutti gli utenti che mi sono venuti incontro
in questo meraviglioso forum sento di avere migliaia di amici pronti ad aiutarmi, e per quel poco che posso vorrei farlo anch'io
buonaserata!
luana.neri80
06-06-2003, 22:44
<a href="javascript:history.back(1)">Indietro</a>
....e se lo volessi ottenre in automatico senza cliccare su INDIETRO?
Semplicemente dai in output:
<script>
<!--
history.back();
//-->
</script>
oppure
<script>
<!--
history.go(-1);
//-->
</script>
Se metti go(-2) vai indietro di due pagine ;)
luana.neri80
07-06-2003, 09:49
http://forum.hwupgrade.it/faccine/50.gif
tvb!!!
alla prox
Originally posted by "luana.neri80"
http://forum.hwupgrade.it/faccine/50.gif
tvb!!!
Ue...addirittura ? http://forum.hwupgrade.it/faccine/7.gif http://forum.hwupgrade.it/faccine/6.gif
Originally posted by "alphacygni"
comunque a voler essere pignoli tocca usare setAttribute("name", Object) e getAttribute("name") perche' putValue e getValue sono deprecati :D
Cmq il cast e' obbligatorio poiche' getAttribute torna una istanza di Object e non della classe originaria ;)
A voler essere pignoli io lo uso sempre con le sessioni quindi la prossima volta che devi fare il pignolo assicurati di non farlo con chi lo fa da 3 anni e lo fa per lavoro tutti i giorni.
e non e' deprecato!!!!!!!! :mad:
luana.neri80
07-06-2003, 15:27
amico bardak, ho avuto dei problemi tali per cui non ho potuto usare le sessioni, anche se a dire il vero poi le ho usate per altri scopi.
Il problema è che avendo dati che potevo raccogliere solo con una form tramite checkbox, non sono riuscita a "tradurre" la cattura di tali dati con le sessioni.
Sono stata impuntata li per tutto il pomeriggio e la sera, ma niente.
Mi sono resa conto che per il momento con history le cose funzionano (spero per tutta la durata del progetto), ma questo non vuol dire che io non abbia gradito le tue dritte !!!
Al contrario sono estremamente felice di avere tanti amici pronti a soccormi, vi ringrazi tutti quanti e resto in debito con ognuno di voi http://forum.hwupgrade.it/faccine/6.gif
mille baci
lulu
Ciao lulu' grazie per il complimento anzi mi fai arrossire con i fiori.
Per le check box usa questo sistema che ho usato anche io:
ti crei tanti hidden quante sono le tue checkbox
poi
nel check box sull'onclick
document.nomeform.nomehidden.value=1;
poi nella session vai ad impostare i dati dell'hidden quando fai le request e vedrai che tutto funzionerà
devi poi fare in modo sull'onload che se la tua variabile e' 1 all'ora il check si flaggato ;) :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.