Hi,
I'm switching over to REST style URLs.
I use Spring 3.0, Sitemesh and Freemarker with Sitemesh decorators stored in WEB-INF/decorators.
The problem I have is that when I change my web.xml to not just send *.html to the dispatcher but /*, I get handlerNotFound errors on decorators that it apparently tries to call directly.
Orginally, my web.xml had stuff like so
PHP Code:<filter-mapping>
<filter-name>gzipFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>gzipFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>exportFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>rewriteFilter</filter-name>
<url-pattern>//*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
Never mind the double forward slashes. The forum software chokes on /*.PHP Code:<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>//*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>staticFilter</filter-name>
<url-pattern>*.html</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<servlet>
<servlet-name>sitemesh-freemarker</servlet-name>
<servlet-class>
nl.project.webapp.utils.SpringFreemarkerDecoratorServlet</servlet-class>
<init-param>
<param-name>TemplatePath</param-name>
<param-value>/</param-value>
</init-param>
<init-param>
<param-name>default_encoding</param-name>
<param-value>ISO-8859-1</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>sitemesh-freemarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
When I change the *.html mappings to /* I get errors as it can find the non-existing mappings for
/WEB-INF/decorators/somedecorator.ftl
Any ideas on how to solve this?
Kind regards,
Marc


Reply With Quote
