Package org.apache.wiki.ui
Class WikiJSPFilter
- java.lang.Object
-
- org.apache.wiki.ui.WikiServletFilter
-
- org.apache.wiki.ui.WikiJSPFilter
-
- All Implemented Interfaces:
javax.servlet.Filter
public class WikiJSPFilter extends WikiServletFilter
This filter goes through the generated page response prior and places requested resources at the appropriate inclusion markers. This is done to let dynamic content (e.g. plugins, editors) include custom resources, even after the HTML head section is in fact built. This filter is typically the last filter to execute, and it must run after servlet or JSP code that performs redirections or sends error codes (such as access control methods).Inclusion markers are placed by the IncludeResourcesTag; the default content templates (see .../templates/default/commonheader.jsp) are configured to do this. As an example, a JavaScript resource marker is added like this:
<wiki:IncludeResources type="script"/>
Any code that requires special resources must register a resource request with the TemplateManager. For example:<wiki:RequestResource type="script" path="scripts/custom.js" />
or programmatically,TemplateManager.addResourceRequest( context, TemplateManager.RESOURCE_SCRIPT, "scripts/customresource.js" );
- See Also:
TemplateManager
,RequestResourceTag
-
-
Field Summary
-
Fields inherited from class org.apache.wiki.ui.WikiServletFilter
m_engine
-
-
Constructor Summary
Constructors Constructor Description WikiJSPFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
Checks that the Engine is running ok, wraps the current HTTP request, and sets the correct authentication state for the users's Session.protected void
fireEvent(int type, java.lang.String pagename)
Fires a WikiPageEvent of the provided type and page name to all registered listeners of the current Engine.void
init(javax.servlet.FilterConfig config)
Initializes the WikiServletFilter.-
Methods inherited from class org.apache.wiki.ui.WikiServletFilter
destroy, getWikiContext
-
-
-
-
Constructor Detail
-
WikiJSPFilter
public WikiJSPFilter()
-
-
Method Detail
-
init
public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException
Initializes the WikiServletFilter.- Specified by:
init
in interfacejavax.servlet.Filter
- Overrides:
init
in classWikiServletFilter
- Parameters:
config
- The FilterConfig.- Throws:
javax.servlet.ServletException
- If a Engine cannot be started.
-
doFilter
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws javax.servlet.ServletException, java.io.IOException
Description copied from class:WikiServletFilter
Checks that the Engine is running ok, wraps the current HTTP request, and sets the correct authentication state for the users's Session. First, the methodAuthenticationManager.login(HttpServletRequest)
executes, which sets the authentication state. Then, the request is wrapped with aWikiRequestWrapper
.- Specified by:
doFilter
in interfacejavax.servlet.Filter
- Overrides:
doFilter
in classWikiServletFilter
- Parameters:
request
- the current HTTP request objectresponse
- the current HTTP response objectchain
- The Filter chain passed down.- Throws:
javax.servlet.ServletException
- ifAuthenticationManager.login(HttpServletRequest)
fails for any reasonjava.io.IOException
- If writing to the servlet response fails.
-
fireEvent
protected final void fireEvent(int type, java.lang.String pagename)
Fires a WikiPageEvent of the provided type and page name to all registered listeners of the current Engine.- Parameters:
type
- the event type to be firedpagename
- the wiki page name as a String- See Also:
WikiPageEvent
-
-