Class PageFilter
- java.lang.Object
-
- com.opensymphony.module.sitemesh.filter.PageFilter
-
- All Implemented Interfaces:
RequestConstants,jakarta.servlet.Filter
public class PageFilter extends java.lang.Object implements jakarta.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 Factoryfactoryprivate jakarta.servlet.FilterConfigfilterConfig-
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 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 java.lang.StringextractRequestPath(jakarta.servlet.http.HttpServletRequest request)jakarta.servlet.FilterConfiggetFilterConfig()Deprecated.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 Detail
-
filterConfig
private jakarta.servlet.FilterConfig filterConfig
-
factory
private Factory factory
-
-
Method Detail
-
doFilter
public void doFilter(jakarta.servlet.ServletRequest rq, jakarta.servlet.ServletResponse rs, jakarta.servlet.FilterChain chain) throws java.io.IOException, jakarta.servlet.ServletExceptionMain 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:
java.io.IOExceptionjakarta.servlet.ServletException
-
extractRequestPath
private java.lang.String extractRequestPath(jakarta.servlet.http.HttpServletRequest request)
-
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 java.io.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:
java.io.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, java.io.IOException
- Throws:
jakarta.servlet.ServletExceptionjava.io.IOException
-
writeOriginal
private void writeOriginal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Page page) throws java.io.IOExceptionWrite the original page data to the response.- Throws:
java.io.IOException
-
-