|
|
|
|
Strumenti |
28-03-2009, 17:42 | #1 |
Senior Member
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 1040
|
JSP, XML e Ajax
Sto lavorando ad un progetto in cui dovrei utilizzare server side JSP e utilizzare ajax client-side.
Ora.. partendo da quasi zero in applicazioni web e studiando quello che ho trovato in rete (potrei quindi aver frainteso tutto o quasi ), ho visto che c'è la possibilità di restituire ad ajax dei documenti xml( come dice anche il nome.. ), cosa che mi potrebbe essere utile per la gestione e pubblicazione dei dati. Il problema è che questi documenti xml dovrebbero essere generati dinamicamente in jsp, attraverso anche delle query al database, e restituiti come risposta al client. Al momento il risultato che ho ottenuto è che al client viene restituita ( tramite l'oggetto XMLHttpoRequest ) la pagina risultante del jsp(html quindi), contenente anche la parte in xml di mio interesse nel body. A questo punto credo che potrei pure ottenere quello che voglio da quella pagina, ma mi sembra strano come procedimento.. sto sbagliando qualcosa? Ci sono altri metodi rimanendo sempre con jsp e trattando xml creati dinamicamente? Grazie
__________________
Weldzar |
28-03-2009, 19:33 | #2 | |
Senior Member
Iscritto dal: Aug 2005
Messaggi: 579
|
Quote:
Insomma, salta il livello di View e fai direttamente riferimento al Controller (Servlet) che chiamando il Model (JavaBean) genera l'xml e lo restituisce. |
|
29-03-2009, 12:34 | #3 |
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 961
|
Quoto _Claudio, e aggiungo un consiglio: per effetturare le chiamate AJAX, il parsing/unparsing dei dati sul client, la visualizzazione degli stessi, la manipolazione del contenuto della pagina HTML sul cliente eccetera eccetera, prova ad usare un framework JavaScript già fatto.
Sono generalmente ben fatti, testati, cross-browser, hanno librerie di funzioni già implementate che semplificano molto la vita del programmatore, supportano parsing/unparsing XML e anche JSON. E poi sono gratuiti... Me ne vengono in mente due, ma ce ne sono tantissimi: prototype + script.aculo.us e dojo: googla un po' e vedi se ti ispirano.
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
29-03-2009, 13:33 | #4 |
Senior Member
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 1040
|
Il problema è l'utilizzo di framework non credo sarebbe molto gradito, visto che si tratta di un progetto universitario.. insomma immagino che dovrei dimostrare di riuscire a cavarmela anche senza.
Il progetto poi dice esplicitamente di utilizzare JavaScript e AJAX client-side e JSP server-side(senza ulteriori dettagli): al momento quindi ho creato una pagina html in cui una parte del body viene aggiornata tramite ajax richiamando delle pagine jsp.. ho frainteso io il testo? Se io creassi delle pagine HTML con JSP e sempre con JSP invocassi funzioni js per ajax e tramite questo delle servlet.. non sposterei JSP client-side? Grazie per l'aiuto
__________________
Weldzar |
29-03-2009, 16:06 | #5 | |
Senior Member
Iscritto dal: Aug 2005
Messaggi: 579
|
Quote:
Questo dimostra ancora una volta la differenza tra teoria e pratica... tra università e mondo reale, nel mondo reale si salta la view e ci si semplifica la vita (anche perchè l'xml è creato internamente e non ricavato tramite richieste a terzi), nell'università invece si tiene integro il modello mvc (motivi didattici...) e si creano software di dubbia funzionalità. E lo dice un laureando in ingegneria... |
|
29-03-2009, 17:54 | #6 |
Senior Member
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 1040
|
Boh oramai sono confuso.. mi toccherà chiedere ulteriori informazioni e vedrò se praticamente devo buttare tutto quello che ho realizzato finora..
Grazie comunque per l'aiuto
__________________
Weldzar |
29-03-2009, 18:36 | #7 |
Senior Member
Iscritto dal: Aug 2005
Messaggi: 579
|
|
01-04-2009, 10:07 | #8 |
Senior Member
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 1040
|
Pare che quello che sto facendo possa andare bene.. e sembra possa utilizzare toolkit quali dojo. Adesso vedo cosa riesco a tirarne fuori
__________________
Weldzar |
01-04-2009, 15:33 | #9 |
Senior Member
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 1040
|
Approfitto del topic per chiedere un chiarimento su JSP..
Se nel body invoco o dichiaro una funzione javascript immagino che la funzione venga eseguita server-side per generare la pagina html da restituire.. c'è un modo semplice per non far elaborare l'esecuzione della funzione e farla così eseguire direttamente sul client?
__________________
Weldzar |
01-04-2009, 16:52 | #10 | |
Senior Member
Iscritto dal: Aug 2005
Messaggi: 579
|
Quote:
|
|
01-04-2009, 20:45 | #11 |
Senior Member
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 1040
|
Sì, però se da una pagina html faccio una richiesta tramite ajax ad una pagina jsp nel cui body c'è il codice seguente:
Codice:
ciao <script language="javascript"> alert("prova"); </script> Ho appena provato a fare un alert del responseText ed il codice javaScript è in effetti presente, però non viene eseguito..
__________________
Weldzar |
04-04-2009, 19:28 | #12 | |
Senior Member
Iscritto dal: Aug 2005
Messaggi: 579
|
Quote:
|
|
05-04-2009, 22:59 | #13 |
Senior Member
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 1040
|
Ah ho capito.. quindi posso restituire ad innerHTML solo del codice già lavorato ( casomai con js) e non ancora da eseguire.
Il problema mio originario sarebbe di effettuare un login tramite ajax.. avrei voluto restituire una conferma di login e poi, tramite una funzione timeout, avrei voluto effettuare in automatico una richiesta ajax alla pagina dell'utente o amministratore. A questo punto forse mi conviene passare direttamente alla pagina e saltare il timeout.
__________________
Weldzar |
05-04-2009, 23:58 | #14 | |
Senior Member
Iscritto dal: Aug 2005
Messaggi: 579
|
Quote:
Se vuoi usare una funzione timeout basta che la metti in un file .js e la tieni "dormiente" (lato client) finchè tramite ajax alla restituzione di un valore specifico la richiami e avvii una richiesta a chi vuoi sempre tramite un'altro "scambio AJAX". |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:24.