Class PageFilter
- java.lang.Object
-
- com.opensymphony.module.sitemesh.filter.PageFilter
-
- All Implemented Interfaces:
RequestConstants
,javax.servlet.Filter
public class PageFilter extends java.lang.Object implements javax.servlet.Filter, RequestConstants
Main SiteMesh filter for applying Decorators to entire Pages.- Version:
- $Revision: 1.6 $
- Author:
- Joe Walnes, Scott Farquhar
-
-
Field Summary
Fields Modifier and Type Field Description private Factory
factory
private javax.servlet.FilterConfig
filterConfig
-
Fields inherited from interface com.opensymphony.module.sitemesh.RequestConstants
DECORATOR, FILTER_APPLIED, PAGE, ROBOT, USING_STREAM
-
-
Constructor Summary
Constructors Constructor Description PageFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
applyDecorator(Page page, Decorator decorator, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
void
destroy()
Shutdown filter.void
doFilter(javax.servlet.ServletRequest rq, javax.servlet.ServletResponse rs, javax.servlet.FilterChain chain)
Main method of the Filter.private java.lang.String
extractRequestPath(javax.servlet.http.HttpServletRequest request)
javax.servlet.FilterConfig
getFilterConfig()
Deprecated.Not needed in final version of Servlet 2.3 API - replaced by init().void
init(javax.servlet.FilterConfig filterConfig)
Set FilterConfig, and get instance ofDecoratorMapper
.protected Page
parsePage(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain)
Continue in filter-chain, writing all content to buffer and parsing into returnedPage
object.void
setFilterConfig(javax.servlet.FilterConfig filterConfig)
Deprecated.Not needed in final version of Servlet 2.3 API - replaced by init().private void
writeOriginal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Page page)
Write the original page data to the response.
-
-
-
Field Detail
-
filterConfig
private javax.servlet.FilterConfig filterConfig
-
factory
private Factory factory
-
-
Method Detail
-
doFilter
public void doFilter(javax.servlet.ServletRequest rq, javax.servlet.ServletResponse rs, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
Main method of the Filter.Checks if the Filter has been applied this request. If not, parses the page and applies
Decorator
(if found).- Specified by:
doFilter
in interfacejavax.servlet.Filter
- Throws:
java.io.IOException
javax.servlet.ServletException
-
extractRequestPath
private java.lang.String extractRequestPath(javax.servlet.http.HttpServletRequest request)
-
init
public void init(javax.servlet.FilterConfig filterConfig)
Set FilterConfig, and get instance ofDecoratorMapper
.- Specified by:
init
in interfacejavax.servlet.Filter
-
getFilterConfig
public javax.servlet.FilterConfig getFilterConfig()
Deprecated.Not needed in final version of Servlet 2.3 API - replaced by init().
-
setFilterConfig
public void setFilterConfig(javax.servlet.FilterConfig filterConfig)
Deprecated.Not needed in final version of Servlet 2.3 API - replaced by init().
-
destroy
public void destroy()
Shutdown filter.- Specified by:
destroy
in interfacejavax.servlet.Filter
-
parsePage
protected Page parsePage(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
Continue in filter-chain, writing all content to buffer and parsing into returnedPage
object. IfPage
is not parseable, null is returned.To debug the
PageWriter
, add the following to the servlet configuration:<init-param> <param-name>debug.pagewriter</param-name> <param-value>true</param-value> </init-param>
- Throws:
java.io.IOException
javax.servlet.ServletException
-
applyDecorator
protected void applyDecorator(Page page, Decorator decorator, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException
- Throws:
javax.servlet.ServletException
java.io.IOException
-
writeOriginal
private void writeOriginal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Page page) throws java.io.IOException
Write the original page data to the response.- Throws:
java.io.IOException
-
-