Re: Request form variable in a class
francan00@yahoo.com wrote:
In my Tomcat 4.1.27 container (with no struts), I am trying to pass a
form value to a JavaBean.
Here is my attempt and need advise on the best way to fetch the
lastname value in my below Java class because it does compile but
gives me a NullPointerException in the JSP when I call this JavaBean:
Of course, you've conveniently neglected to show us how you invoke it in the
JSP, which, of course, is actually the wrong place to handle request
parameters in the first place.
Even, or perhaps especially, without Struts (not "struts" - spelling counts),
you should submit all forms to a controller servlet that cracks the parameters
and passes them to the business logic, then embeds the logic bean or a result
bean in the request attributes, then forwards to the appropriate next JSP,
which will display it. (Forwarding accomplished by the RequestDispatcher
returned from request.getRequestDispatcher( pathToNextJsp )).
public class First
{
private HttpServletRequest request;
private String lastname;
public First()
{
lastname= (String) request.getParameter("lastname");
And just where is your new First supposed to get the 'request' variable from?
Read up on the "Model 2" Model-View-Controller (MVC) pattern on the Sun web
site or via Google. GIYF.
}
/* Getter and Setter Methods */
But none for 'request'. You should retrieve the "lastname" parameter from the
request in your controller servlet, then pass lastname to whatever logic needs
it (or embed it directly as a request attribute using request.setAttribute()).
public FetchFormValue()
{
if(lastname.equals("Smith")
{
//do stuff for Smith
}
else
{
//do other stuff
}
}
...
}
This logic would be called from a logic class instance within the controller
servlet.
--
Lew