Maintaining form elements when using a servlet to redirect?

J

Jim Bancroft

Hi everyone,

We're trying to use MVC in our J2EE application. We have a servlet that
acts as the controller. All our pages post to this servlet, which is
supposed to read one of the input values and forward to the appropriate
page. My question: is it possible for the servlet to "forward" all of the
form inputs to the page too?

Our code looks something like this:

String action = request.getParameter("action");
String aURL = locateTheAppropriateURL(action);
RequestDispatcher requestDispatcher =
request.getRequestDispatcher(aURL);
requestDispatcher.forward(request, response);

I don't see any mechanism for automatically passing along any other
form/request variables to the new page. Is there a good way of doing this?
Thanks!
 
R

richardsosborn

We're trying to use MVC in our J2EE application. We have a servlet that
acts as the controller. All our pages post to this servlet, which is
supposed to read one of the input values and forward to the appropriate
page. My question: is it possible for the servlet to "forward" all of the
form inputs to the page too?

Our code looks something like this:

String action = request.getParameter("action");
String aURL = locateTheAppropriateURL(action);
RequestDispatcher requestDispatcher =
request.getRequestDispatcher(aURL);
requestDispatcher.forward(request, response);

I don't see any mechanism for automatically passing along any other
form/request variables to the new page. Is there a good way of doing this?
Thanks!


there are a couple options. my suggestion for you?
place everything in "session".


HttpSession session = request.getSession();
session.setAttribute(request.getParam("param1");
session.setAttribute(request.getParam("param2");
session.setAttribute(request.getParam("param3");
session.setAttribute(request.getParam("param4");
 
L

Lew

there are a couple options. my suggestion for you?
place everything in "session".

HttpSession session = request.getSession();
session.setAttribute(request.getParam("param1");
session.setAttribute(request.getParam("param2");
session.setAttribute(request.getParam("param3");
session.setAttribute(request.getParam("param4");

By definition, request "variables", by which I assume you mean "parameters",
will come with the "request" parameter of the forward() method. So will any
attributes set via request.setAttribute(). No further action or "mechanism"
necessary.

In the target resource you simply dereference with request.getParameter(),
request.getAttribute() or the equivalent JSP constructs.

You should *not* place variables into the session unless their usage requires
session lifetime. It is silly to put them in the session just to pass them
redundantly with the request.

- Lew
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,817
Latest member
DicWeils

Latest Threads

Top