Class PageResponseWrapper
java.lang.Object
javax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
com.opensymphony.module.sitemesh.filter.PageResponseWrapper
- All Implemented Interfaces:
javax.servlet.http.HttpServletResponse,javax.servlet.ServletResponse
public class PageResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper
Implementation of HttpServletResponseWrapper that captures page data instead of sending to the writer.
Should be used in filter-chains or when forwarding/including pages using a RequestDispatcher.
- Author:
- Joe Walnes, Scott Farquhar
-
Field Summary
Fields inherited from interface javax.servlet.http.HttpServletResponse
SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_FOUND, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY -
Constructor Summary
ConstructorsConstructorDescriptionPageResponseWrapper(javax.servlet.http.HttpServletResponse response, PageParserSelector parserSelector) Instantiates a new page response wrapper. -
Method Summary
Modifier and TypeMethodDescriptionvoidactivateSiteMesh(String contentType, String encoding) Activate site mesh.voidPrevent content-length being set if page is parseable.voidPrevent buffer from being flushed if this is a page being parsed.Gets the contents.javax.servlet.ServletOutputStreamgetPage()Gets the page.booleanChecks if is using stream.voidsendError(int sc) voidvoidsendRedirect(String location) voidsetContentLength(int contentLength) Prevent content-length being set if page is parseable.voidsetContentType(String type) Set the content-type of the request and store it so it can be passed to thePageParser.voidPrevent content-length being set if page is parseable.voidsetStatus(int sc) If 'not modified' (304) HTTP status is being sent - then abort parsing, as there shouldn't be any bodyMethods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, setDateHeader, setIntHeader, setStatus, setTrailerFieldsMethods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLengthLong, setLocale, setResponseMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface javax.servlet.ServletResponse
getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLengthLong, setLocale
-
Constructor Details
-
PageResponseWrapper
public PageResponseWrapper(javax.servlet.http.HttpServletResponse response, PageParserSelector parserSelector) Instantiates a new page response wrapper.- Parameters:
response- the responseparserSelector- the parser selector
-
-
Method Details
-
setContentType
Set the content-type of the request and store it so it can be passed to thePageParser.- Specified by:
setContentTypein interfacejavax.servlet.ServletResponse- Overrides:
setContentTypein classjavax.servlet.ServletResponseWrapper
-
activateSiteMesh
Activate site mesh.- Parameters:
contentType- the content typeencoding- the encoding
-
setContentLength
public void setContentLength(int contentLength) Prevent content-length being set if page is parseable.- Specified by:
setContentLengthin interfacejavax.servlet.ServletResponse- Overrides:
setContentLengthin classjavax.servlet.ServletResponseWrapper
-
flushBuffer
Prevent buffer from being flushed if this is a page being parsed.- Specified by:
flushBufferin interfacejavax.servlet.ServletResponse- Overrides:
flushBufferin classjavax.servlet.ServletResponseWrapper- Throws:
IOException
-
setHeader
Prevent content-length being set if page is parseable.- Specified by:
setHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
setHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
addHeader
Prevent content-length being set if page is parseable.- Specified by:
addHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
addHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
setStatus
public void setStatus(int sc) If 'not modified' (304) HTTP status is being sent - then abort parsing, as there shouldn't be any body- Specified by:
setStatusin interfacejavax.servlet.http.HttpServletResponse- Overrides:
setStatusin classjavax.servlet.http.HttpServletResponseWrapper
-
getOutputStream
public javax.servlet.ServletOutputStream getOutputStream()- Specified by:
getOutputStreamin interfacejavax.servlet.ServletResponse- Overrides:
getOutputStreamin classjavax.servlet.ServletResponseWrapper
-
getWriter
- Specified by:
getWriterin interfacejavax.servlet.ServletResponse- Overrides:
getWriterin classjavax.servlet.ServletResponseWrapper
-
getPage
Gets the page.- Returns:
- the page
- Throws:
IOException- Signals that an I/O exception has occurred.
-
sendError
- Specified by:
sendErrorin interfacejavax.servlet.http.HttpServletResponse- Overrides:
sendErrorin classjavax.servlet.http.HttpServletResponseWrapper- Throws:
IOException
-
sendError
- Specified by:
sendErrorin interfacejavax.servlet.http.HttpServletResponse- Overrides:
sendErrorin classjavax.servlet.http.HttpServletResponseWrapper- Throws:
IOException
-
sendRedirect
- Specified by:
sendRedirectin interfacejavax.servlet.http.HttpServletResponse- Overrides:
sendRedirectin classjavax.servlet.http.HttpServletResponseWrapper- Throws:
IOException
-
isUsingStream
public boolean isUsingStream()Checks if is using stream.- Returns:
- true, if is using stream
-
getContents
Gets the contents.- Returns:
- the contents
- Throws:
IOException- Signals that an I/O exception has occurred.
-