View Full Version : Problema con Struts 1.2.2
Non riesco a recuperare oggetti dalla request, ad esempio, all'interno di una pagina jsp:
String id = (String)request.getAttribute("USER.ID");
dovrebbe recuperare l'oggetto USER.ID e convertirlo da Object in stringa... ma facendo il debug appare nullo.
E' strano, perchè il token lo è presente...
Non dovrebbe essere Struts il problema, dato che non è coinvolto in questa operazione.
Consigli?
non conosco struts ma sei sicuro di voler chiamare requesty.getAttribute() e non request.getParameter()?
in caso affermativo è l'engine struts che ti valorizza quell'attributo?
Originariamente inviato da kingv
non conosco struts ma sei sicuro di voler chiamare requesty.getAttribute() e non request.getParameter()?
si, in questo caso potevo usare anche getParameter (dato che USER.ID è un stringa, ma di solito uso getAttribute perchè devo estrarre oggetti generici (non solo di tipo String), tipo i bean.
in caso affermativo è l'engine struts che ti valorizza quell'attributo?
Non credo, è la servlet... sfrutto semplicemente gli oggetti impliciti request (e session) della JSP e da loro estraggo oggetti Java tramite il metodo predefinito delle relative interfacce/classi (ServletRequest e HTTPSession).
Quando nella Action di Struts salvo un oggetto nella request...
request.getSession().setAttribute("USER.ID", user.getID());
devo poterli recuperare nelle JSP tramite il metodo su riportato sfruttando l'oggetto implicito nella JSP (request).
Originariamente inviato da GioFX
si, in questo caso potevo usare anche getParameter (dato che USER.ID è un stringa, ma di solito uso getAttribute perchè devo estrarre oggetti generici (non solo di tipo String), tipo i bean.
occhio che getAttribute e getParameter non si differenziano solo per il tipo di oggetto ritornato.
getAttribute recupera dalla sessione un oggetto, valorizzato da te o dal web container mentre getParameter tira fuori un valore da una form html (o dall'url se i parametri sono passati in una GET)
Originariamente inviato da kingv
occhio che getAttribute e getParameter non si differenziano solo per il tipo di oggetto ritornato.
getAttribute recupera dalla sessione un oggetto, valorizzato da te o dal web container mentre getParameter tira fuori un valore da una form html (o dall'url se i parametri sono passati in una GET)
Hai ragione, ma gli oggetti sono sempre passati con la request, dal Javadoc di ServletRequest:
Returns the value of a request parameter as a <code>String</code>, or <code>null</code> if the parameter does not exist. Request parameters are extra information sent with the request. For HTTP servlets, parameters are contained in the query string or posted form data.
Il problema è che è assurdo che non funzioni... all'interno della action di struts (servlet) nel metodo che in caso di successo valorizza il forward alla pagina jsp relativa viene immesso nella request l'oggetto e infatti è presente se si prova ad estrarlo... ma sulla JSP (dove dovrebbe "arrivar") non esiste più, e infatti il jasper da errore nel digest della JSP:
Servlet.service() for servlet debugjsp threw exception
org.apache.jasper.JasperException
chiedo umilmente scusa... errore idiota mio...
per forza era nullo, lo salvavo nella session!
request.getSession().setAttribute(), invece di
request.setAttribute()
!
:O
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.