How to get the action from the HttpServlet request to dispatch to multiple pages
Posted
by
JFB
on Stack Overflow
See other posts from Stack Overflow
or by JFB
Published on 2012-06-29T02:41:04Z
Indexed on
2012/06/30
3:16 UTC
Read the original article
Hit count: 207
I am using the Page Controller pattern. How could I use the same controller for two different pages by detecting the request action and then dispatching according to the result?
Here is my code:
account.jsp
<form name="input" action="<%=request.getContextPath() %>/edit" method="get">
<input type="submit" value="Modifier" />
</form>
Account Servlet
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("received HTTP GET");
String action = request.getParameter("action");
if (action == null)
{
// the account page
dispatch(request, response, "/account");
}
else if (action == "/edit") {
// the popup edit page
dispatch(request, response, "/edit");
}
protected void dispatch(HttpServletRequest request,
HttpServletResponse response, String page)
throws javax.servlet.ServletException, java.io.IOException {
RequestDispatcher dispatcher = getServletContext()
.getRequestDispatcher(page);
dispatcher.forward(request, response);
}
}
© Stack Overflow or respective owner