|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.opensymphony.web.PageForwarder
Simple abstract class for easy forwarding servlets to other servlets. This class does nothing clever, it can just be used to keep your code easier to manage.
Extend it to make an implementation and pass accross in the constructor the appropriate
objects. It is then easy to create methods that can be called from the
HttpServlet
.
// Class implementation class MyItemViewer extends PageForwarder { void listItems(MyItem[] items) { set("items",items); forward("listpage.jsp"); } void displayItem(MyItem item) { set("item",item); forward("viewpage.jsp"); } } // Servlet public class MyServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException { MyForwarder f = new MyForwarder(); f.init(this, request, response, "/path/to/jsppages/"); MyItem item = // something. if (item!=null) { f.displayItem(item); } else { MyItem[] allItems = //something f.listItems(allItems); } } }
Field Summary | |
java.lang.String |
baseUrl
Base URL (in context to web-app) to append to page URLs. |
protected javax.servlet.ServletContext |
context
Servlet context of calling class. |
protected javax.servlet.http.HttpServletRequest |
request
Current page request. |
protected javax.servlet.http.HttpServletResponse |
response
Resulting response with which to forward page. |
Constructor Summary | |
PageForwarder()
Default constructor. |
Method Summary | |
protected void |
error(int errorCode,
java.lang.String message)
Send HTTP error message. |
protected void |
forward(java.lang.String page)
Forward request to specified page (under baseUrl directory). |
protected void |
include(java.lang.String page)
Include specified page (under baseUrl directory). |
void |
init(ActionContext actionContext)
|
void |
init(ActionContext actionContext,
java.lang.String baseUrl)
|
void |
init(javax.servlet.http.HttpServlet servlet,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Initialize forwarder by setting required values. |
void |
init(javax.servlet.http.HttpServlet servlet,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
java.lang.String baseUrl)
Initialize forwarder by setting required values. |
void |
init(javax.servlet.jsp.PageContext pageContext)
Initialize forwarder from JSP |
void |
init(javax.servlet.jsp.PageContext pageContext,
java.lang.String baseUrl)
Initialize forwarder from JSP |
protected void |
redirect(java.lang.String page)
Same as {@see #forward(java.lang.String)} except HTTP redirect is sent instead. |
protected void |
set(java.lang.String key,
java.lang.Object value)
Set an attribute in the HttpRequest object. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected javax.servlet.ServletContext context
protected javax.servlet.http.HttpServletRequest request
protected javax.servlet.http.HttpServletResponse response
public java.lang.String baseUrl
Constructor Detail |
public PageForwarder()
Method Detail |
public void init(javax.servlet.http.HttpServlet servlet, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String baseUrl)
servlet
- Calling servlet class.request
- Current page request.response
- Resulting response with which to forward page.baseUrl
- Base URL (in context to web-app) to append to page URLs. (Include trailing slash).public void init(javax.servlet.http.HttpServlet servlet, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
servlet
- Calling servlet class.request
- Current page request.response
- Resulting response with which to forward page.public void init(javax.servlet.jsp.PageContext pageContext, java.lang.String baseUrl)
pageContext
- JSP pageContextbaseUrl
- Base URL (in context to web-app) to append to page URLs. (Include trailing slash).public void init(javax.servlet.jsp.PageContext pageContext)
pageContext
- JSP pageContextpublic void init(ActionContext actionContext, java.lang.String baseUrl)
public void init(ActionContext actionContext)
protected void set(java.lang.String key, java.lang.Object value)
HttpRequest
object.key
- Key to refer to stored attribute.value
- Value of attribute.ServletRequest.setAttribute(String, Object)
protected void include(java.lang.String page) throws javax.servlet.ServletException
baseUrl
directory).page
- Page to include. Prepended to baseUrl
.javax.servlet.ServletException
- Thrown if anything goes wrong
in trying to include the page (such as page not found).RequestDispatcher.forward(ServletRequest, ServletResponse)
protected void forward(java.lang.String page) throws javax.servlet.ServletException
baseUrl
directory).page
- Page to forward request to. Prepended to baseUrl
.javax.servlet.ServletException
- Thrown if anything goes wrong
in trying to forward the page (such as page not found).RequestDispatcher.forward(ServletRequest, ServletResponse)
protected void redirect(java.lang.String page) throws javax.servlet.ServletException
protected void error(int errorCode, java.lang.String message) throws javax.servlet.ServletException
errorCode
- HTTP Error Code.message
- Error message (may be null).HttpServletResponse
|
See www.opensymphony.com for more information. | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |