[EMAIL PROTECTED] wrote:
Yes the ExtensionFilter is in my web.xml
The file looks like this:(snippet) -->Is there an error?


<filter-mapping>
<filter-name>ExtensionsFilter</filter-name>
<servlet-name>FacesServlet</servlet-name>
</filter-mapping>

This doesn't look right to me. You haven't mapped the filter to any URLs, so the filter will never be run. You need a <url-pattern> tag within the filter-mapping tag. The <servlet-name> tag is just wrong and doesn't belong there. I suggest reading up on filters if you don't understand this.

I believe the point of the ExtensionFilter is that tomahawk components will generate URLs like
  {context}/faces/myFacesExtensionResource/{component}/{key}/{filename}
in the page returned to the user.

The user's browser will then try to fetch the resource (eg a javascript file) from that URL, and you want the ExtensionsFilter to handle this request as the ExtensionsFilter knows how to return the resource which is bundled in the tomahawk jar file. So the ExtensionsFilter must *always* be configured to handle URLs matching "/faces/myFacesExtensionResource/*". Setting a pattern of "/faces/*" will also work, but is of course less specific.

I *think* the filter also needs to be active when the tomahawk component initially runs (so that the component can notify the ExtensionFilter of the existence of the resource). If this is the case, then the filter *also* needs to be mapped to pattern "*.jsf" or somesuch.

Regards,

Simon

Reply via email to