 |
AppletTalk.com Java discussions newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
JackTorrence Guest
|
Posted: Fri Jun 25, 2004 10:08 am Post subject: [Struts] Validazione dei campi |
|
|
Buongiorno a tutti,
Ho dei dubbi sull'uso della validazione dei fati con struts.
Ho le seguenti azioni configurate:
<action input="/tirocini/edit_tirocinio.jsp" name="TirocinioForm"
path="/editTirocinio" scope="request"
type="tirocini.actions.tirocini.EditTirociniAction" validate="false"/>
che carica i dati di un tirocinio e riempie i campi del form contenuto
in edit_tirocinio.jsp
<action input="/tirocini/edit_tirocinio.jsp" name="TirocinioForm"
path="/updateTirocinio" scope="request"
type="tirocini.actions.tirocini.UpdateTirociniAction" validate="true">
prende i dati dalla pagina jsp li valida e li salva.
Nel caso la validazione fallisca, quest'ultima azione mi ricarica la
pagina jsp.
Ottengo però dei nullpointerexception in quanto la pagina non trova
degli oggetti che la action dovrebbe passare nella request.
Ho provato a cambiare l'ultima azione con questa:
<action input="/editTirocinio.do" name="TirocinioForm"
path="/updateTirocinio" scope="request"
type="tirocini.actions.tirocini.UpdateTirociniAction" validate="true">
ma ottengo solo una pagina bianca
|
|
| Back to top |
|
 |
Gian Luca Dalla Torre Guest
|
Posted: Fri Jun 25, 2004 10:12 am Post subject: Re: [Struts] Validazione dei campi |
|
|
JackTorrence ha scritto:
| Quote: | Buongiorno a tutti,
|
[SNIP]
Ciao,
per poterti dare una risposta, avrei bisogno di informazioni, tipo il
NullPointerExcpetion ti arriva dal fatto che non trova l'ActionForm
associato? Stai usando Struts 1.1 e Validator o Struts 1.0?
Possiamo vedere lo stack degli errori e l'action Form?
Fammi sapere e magari posso essere più esauriente.
|
|
| Back to top |
|
 |
JackTorrence Guest
|
Posted: Fri Jun 25, 2004 11:23 am Post subject: Re: [Struts] Validazione dei campi |
|
|
Gian Luca Dalla Torre wrote:
| Quote: | JackTorrence ha scritto:
Buongiorno a tutti,
[SNIP]
Ciao,
per poterti dare una risposta, avrei bisogno di informazioni, tipo
il NullPointerExcpetion ti arriva dal fatto che non trova l'ActionForm
associato? Stai usando Struts 1.1 e Validator o Struts 1.0?
Possiamo vedere lo stack degli errori e l'action Form?
Fammi sapere e magari posso essere più esauriente.
|
Sto usando Struts 1.0 ( non validator). Il nullpointer non deriva dal
fatto che non trova la actionform quanto dal fatto che, in presenza di
un errore di validazione nel metodo validate, struts ricarica la pagina
jsp senza passare per la action che carica da DB i bean da passare alla
jsp. Le eccezioni derivano dal fatto che la jsp cerca nello scope
request degli arraylist che non sono stati caricati perchè in presenza
dell'errore di validazione struts richiama la pagina jsp e non passa per
la action editTirocinio.do
lo stack degli errori è il seguente:
java.lang.NullPointerException
at
org.apache.jsp.edit_0005ftirocinio$jsp._jspService(edit_0005ftirocinio$jsp.java:251)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
Come posso fare per far caricare tali bean alla jsp? devo per forza
metterli in sessione e non in request? devo richiamare esplicitamente la
action che popola i bean?
|
|
| Back to top |
|
 |
Gian Luca Dalla Torre Guest
|
Posted: Fri Jun 25, 2004 12:33 pm Post subject: Re: [Struts] Validazione dei campi |
|
|
JackTorrence ha scritto:
| Quote: | Gian Luca Dalla Torre wrote:
JackTorrence ha scritto:
Buongiorno a tutti,
[SNIP]
Ciao,
per poterti dare una risposta, avrei bisogno di informazioni, tipo
il NullPointerExcpetion ti arriva dal fatto che non trova l'ActionForm
associato? Stai usando Struts 1.1 e Validator o Struts 1.0?
Possiamo vedere lo stack degli errori e l'action Form?
Fammi sapere e magari posso essere più esauriente.
Sto usando Struts 1.0 ( non validator). Il nullpointer non deriva dal
fatto che non trova la actionform quanto dal fatto che, in presenza di
un errore di validazione nel metodo validate, struts ricarica la pagina
jsp senza passare per la action che carica da DB i bean da passare alla
jsp. Le eccezioni derivano dal fatto che la jsp cerca nello scope
request degli arraylist che non sono stati caricati perchè in presenza
dell'errore di validazione struts richiama la pagina jsp e non passa per
la action editTirocinio.do
lo stack degli errori è il seguente:
java.lang.NullPointerException
at
org.apache.jsp.edit_0005ftirocinio$jsp._jspService(edit_0005ftirocinio$jsp.java:251)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
Come posso fare per far caricare tali bean alla jsp? devo per forza
metterli in sessione e non in request? devo richiamare esplicitamente la
action che popola i bean?
|
Il controllo che fai sul metodo validate è sui campi del form o esegui
dei controlli che prevedono l'accesso alla base di dati?
La domanda può sembrarti un po' strana, ma per risolvere il tuo
problema mi viene in mente una soluzione semplice: spostare il controllo
che blocca il flusso dal validate dell'action form all execute
dell'azione successiva.
Il gioco si ottiene creando gli actionerror nell'azione e non nel
validate, richiamare nell'azione il metodo saveErrors legato alla
request (se non ricordo male) e utilizzare actionForward.findInput per
tornare alla pagina iniziale. In questo modo nell'action puoi re -
inserire l'action form nella request e tutti gli array list che ti sono
necessari.
L'altra soluzione, come tu stesso hai anticipato, è utilizzare la sessione.
|
|
| Back to top |
|
 |
JackTorrence Guest
|
Posted: Fri Jun 25, 2004 1:07 pm Post subject: Re: [Struts] Validazione dei campi |
|
|
Gian Luca Dalla Torre wrote:
| Quote: | Il gioco si ottiene creando gli actionerror nell'azione e non nel
validate, richiamare nell'azione il metodo saveErrors legato alla
request (se non ricordo male) e utilizzare actionForward.findInput per
tornare alla pagina iniziale. In questo modo nell'action puoi re -
inserire l'action form nella request e tutti gli array list che ti sono
necessari.
|
Ok grazie. Immaginavo si potessero creare gli actionerror nel metodo
execute ma non avevo capito come inviarli alla jsp.
Grazie mille ;)
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|