javajspservletsforwardrequestdispatcher

Go back to same JSP that sent request with RequestDispatcher in Servlet


I have a servlet which can get requests by multiple JSP's.

But when I use the RequestDispatcher in the servlet, I don't know how to forward to the JSP that sent the request.

req.getRequestDispatcher("page.jsp").forward(req, resp);

I know there is something like this in html: javascript:javascript:history.go(-1)

I just need something like this:

req.setAttribute("originalRequest", req.getRequestPage());
req.getRequestDispatcher(originalRequest).forward(req, resp);

That piece of code is probably very noob but it gives you the idea of what I need.

So: I need to forward to the page that sent the original request (basically reload the page), but because multiple jsp's use the servlet, I cannot simply forward to "page.jsp"


Solution

  • You can do following

    When you are calling the servlet from JSP A, then it will have paramter japName=a, when servlet code is running, it will retrieve the value a from request.getParamter("jspName") and a getRequestDispatcher(jspName) will create the dispatcher for the same and rd.forward(request, response) will forward to the jsp.