Class PageFilter
java.lang.Object
com.opensymphony.module.sitemesh.filter.PageFilter
- All Implemented Interfaces:
RequestConstants,jakarta.servlet.Filter
Main SiteMesh filter for applying Decorators to entire Pages.
- Version:
- $Revision: 1.6 $
- Author:
- Joe Walnes, Scott Farquhar
-
Field Summary
FieldsFields inherited from interface com.opensymphony.module.sitemesh.RequestConstants
DECORATOR, FILTER_APPLIED, PAGE, ROBOT, USING_STREAM -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidapplyDecorator(Page page, Decorator decorator, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) voiddestroy()Shutdown filter.voiddoFilter(jakarta.servlet.ServletRequest rq, jakarta.servlet.ServletResponse rs, jakarta.servlet.FilterChain chain) Main method of the Filter.private StringextractRequestPath(jakarta.servlet.http.HttpServletRequest request) jakarta.servlet.FilterConfigDeprecated.Not needed in final version of Servlet 2.3 API - replaced by init().voidinit(jakarta.servlet.FilterConfig filterConfig) Set FilterConfig, and get instance ofDecoratorMapper.protected PageparsePage(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain chain) Continue in filter-chain, writing all content to buffer and parsing into returnedPageobject.voidsetFilterConfig(jakarta.servlet.FilterConfig filterConfig) Deprecated.Not needed in final version of Servlet 2.3 API - replaced by init().private voidwriteOriginal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Page page) Write the original page data to the response.
-
Field Details
-
filterConfig
private jakarta.servlet.FilterConfig filterConfig -
factory
-
-
Constructor Details
-
PageFilter
public PageFilter()
-
-
Method Details
-
doFilter
public void doFilter(jakarta.servlet.ServletRequest rq, jakarta.servlet.ServletResponse rs, jakarta.servlet.FilterChain chain) throws IOException, jakarta.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:
doFilterin interfacejakarta.servlet.Filter- Throws:
IOExceptionjakarta.servlet.ServletException
-
extractRequestPath
-
init
public void init(jakarta.servlet.FilterConfig filterConfig) Set FilterConfig, and get instance ofDecoratorMapper.- Specified by:
initin interfacejakarta.servlet.Filter
-
getFilterConfig
public jakarta.servlet.FilterConfig getFilterConfig()Deprecated.Not needed in final version of Servlet 2.3 API - replaced by init(). -
setFilterConfig
public void setFilterConfig(jakarta.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:
destroyin interfacejakarta.servlet.Filter
-
parsePage
protected Page parsePage(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain chain) throws IOException, jakarta.servlet.ServletException Continue in filter-chain, writing all content to buffer and parsing into returnedPageobject. IfPageis 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:
IOExceptionjakarta.servlet.ServletException
-
applyDecorator
protected void applyDecorator(Page page, Decorator decorator, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException - Throws:
jakarta.servlet.ServletExceptionIOException
-
writeOriginal
private void writeOriginal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Page page) throws IOException Write the original page data to the response.- Throws:
IOException
-