Package com.opensymphony.sitemesh.webapp
Class SiteMeshFilter
- java.lang.Object
-
- com.opensymphony.sitemesh.webapp.SiteMeshFilter
-
- All Implemented Interfaces:
javax.servlet.Filter
- Direct Known Subclasses:
MultipassFilter,PageFilter
public class SiteMeshFilter extends Object implements javax.servlet.Filter
Core Filter for integrating SiteMesh into a Java web application.- Since:
- SiteMesh 3
- Author:
- Joe Walnes, Scott Farquhar
-
-
Field Summary
Fields Modifier and Type Field Description private static StringALREADY_APPLIED_KEYprivate ContainerTweakscontainerTweaksprivate javax.servlet.FilterConfigfilterConfig
-
Constructor Summary
Constructors Constructor Description SiteMeshFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddestroy()voiddoFilter(javax.servlet.ServletRequest rq, javax.servlet.ServletResponse rs, javax.servlet.FilterChain chain)Main method of the Filter.private booleanfilterAlreadyAppliedForRequest(javax.servlet.http.HttpServletRequest request)voidinit(javax.servlet.FilterConfig filterConfig)protected ContentProcessorinitContentProcessor(SiteMeshWebAppContext webAppContext)protected DecoratorSelectorinitDecoratorSelector(SiteMeshWebAppContext webAppContext)private ContentobtainContent(ContentProcessor contentProcessor, SiteMeshWebAppContext webAppContext, 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 returnedPageobject.
-
-
-
Field Detail
-
filterConfig
private javax.servlet.FilterConfig filterConfig
-
containerTweaks
private ContainerTweaks containerTweaks
-
ALREADY_APPLIED_KEY
private static final String ALREADY_APPLIED_KEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init(javax.servlet.FilterConfig filterConfig)
- Specified by:
initin interfacejavax.servlet.Filter
-
destroy
public void destroy()
- Specified by:
destroyin interfacejavax.servlet.Filter
-
doFilter
public void doFilter(javax.servlet.ServletRequest rq, javax.servlet.ServletResponse rs, javax.servlet.FilterChain chain) throws IOException, javax.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 interfacejavax.servlet.Filter- Throws:
IOExceptionjavax.servlet.ServletException
-
initContentProcessor
protected ContentProcessor initContentProcessor(SiteMeshWebAppContext webAppContext)
-
initDecoratorSelector
protected DecoratorSelector initDecoratorSelector(SiteMeshWebAppContext webAppContext)
-
obtainContent
private Content obtainContent(ContentProcessor contentProcessor, SiteMeshWebAppContext webAppContext, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException
Continue in filter-chain, writing all content to buffer and parsing into returnedPageobject. IfPageis not parseable, null is returned.- Throws:
IOExceptionjavax.servlet.ServletException
-
filterAlreadyAppliedForRequest
private boolean filterAlreadyAppliedForRequest(javax.servlet.http.HttpServletRequest request)
-
-