http://www.junlu.com/
Home
»
Home (12/2007)
»
Struts 2
»
Struts 2.0.2 and Freemarker
Nick Tucker
2006-12-27
Replies:
Struts 2.0.2 and Freemarker --
Nick Tucker
2006-12-27
Struts 2.0.2 and Freemarker
--
Laurie Harper
2006-12-29
Struts 2.0.2 and Freemarker
--
Nick Tucker
2006-12-29
On converting from Struts 2.0.1 to 2.0.2
I get the following error when I try and use Sitemesh Freemarker Decorators.
The decorators work with 2.0.1.
Some advice on what changes I need to make would be appreciated
Thanks
Nick Tucker
2006-12-27 18:53:19,166 ERROR
(org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/Struts2].[default]:253)
- Servlet.service() for servlet default threw exception
javax.servlet.ServletException
: Missing freemarker dependency
at
org.apache.struts2.sitemesh.FreeMarkerPageFilter.applyDecorator(FreeMarkerPageFilter.java:135)
at
org.apache.struts2.sitemesh.TemplatePageFilter.applyDecorator(TemplatePageFilter.java:113)
at
com.opensymphony.module.sitemesh.filter.PageFilter
.doFilter (
PageFilter.java
:59)
at
org.apache.catalina.core.ApplicationFilterChain
.internalDoFilter (
ApplicationFilterChain.java
:202)
at
org.apache.catalina.core.ApplicationFilterChain
.doFilter (
ApplicationFilterChain.java
:173)
at
org.apache.struts2.dispatcher.ActionContextCleanUp
.doFilter (
ActionContextCleanUp.java
:99)
at
org.apache.catalina.core.ApplicationFilterChain
.internalDoFilter (
ApplicationFilterChain.java
:202)
at
org.apache.catalina.core.ApplicationFilterChain
.doFilter (
ApplicationFilterChain.java
:173)
at
org.displaytag.filter.ResponseOverrideFilter
.doFilter (
ResponseOverrideFilter.java
:125)
at
org.apache.catalina.core.ApplicationFilterChain
.internalDoFilter (
ApplicationFilterChain.java
:202)
at
org.apache.catalina.core.ApplicationFilterChain
.doFilter (
ApplicationFilterChain.java
:173)
at
org.acegisecurity.util.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor
.invoke (
FilterSecurityInterceptor.java
:107)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor
.doFilter (
FilterSecurityInterceptor.java
:72)
at
org.acegisecurity.util.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at
org.acegisecurity.util.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.ui.basicauth.BasicProcessingFilter
.doFilter (
BasicProcessingFilter.java
:178)
at
org.acegisecurity.util.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter
.doFilter (
RememberMeProcessingFilter.java
:135)
at
org.acegisecurity.util.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.ui.AbstractProcessingFilter
.doFilter (
AbstractProcessingFilter.java
:217)
at
org.acegisecurity.util.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:193)
at
org.acegisecurity.util.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.util.FilterChainProxy
.doFilter (
FilterChainProxy.java
:148)
at
org.acegisecurity.util.FilterToBeanProxy
.doFilter (
FilterToBeanProxy.java
:98)
at
org.apache.catalina.core.ApplicationFilterChain
.internalDoFilter (
ApplicationFilterChain.java
:202)
at
org.apache.catalina.core.ApplicationFilterChain
.doFilter (
ApplicationFilterChain.java
:173)
at
org.apache.catalina.core.StandardWrapperValve
.invoke (
StandardWrapperValve.java
:213)
My relevant parts of my web.xml are:-
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Struts 2 Test Application</display-name>
<filter>
<filter-name>securityFilter</filter-name>
<filter-class>
org.acegisecurity.util.FilterToBeanProxy
</filter-class>
<init-param>
<param-name>targetClass</param-name>
<param-value>
org.acegisecurity.util.FilterChainProxy
</param-value>
</init-param>
</filter>
<filter>
<filter-name>ResponseOverrideFilter</filter-name>
<filter-class>
org.displaytag.filter.ResponseOverrideFilter
</filter-class>
</filter>
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>org.apache.struts2.sitemesh.FreeMarkerPageFilter</filter-class>
</filter>
<filter>
<filter-name>action2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>securityFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ResponseOverrideFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>action2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>freemarker</servlet-name>
<servlet-class>
freemarker.ext.servlet.FreemarkerServlet
</servlet-class>
<!-- FreemarkerServlet settings: -->
<init-param>
<param-name>TemplatePath</param-name>
<param-value>/</param-value>
</init-param>
<init-param>
<param-name>NoCache</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>ContentType</param-name>
<param-value>text/html</param-value>
</init-param>
<!-- FreeMarker settings: -->
<init-param>
<param-name>template_update_delay</param-name>
<param-value>0</param-value> <!-- 0 is for development only! Use
higher value otherwise. -->
</init-param>
<init-param>
<param-name>default_encoding</param-name>
<param-value>ISO-8859-1</param-value>
</init-param>
<init-param>
<param-name>number_format</param-name>
<param-value>0.##########</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>JspSupportServlet</servlet-name>
<servlet-class>
org.apache.struts2.views.JspSupportServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>sitemesh-freemarker</servlet-name>
<servlet-class>
com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet
</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>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>freemarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>sitemesh-freemarker</servlet-name>
<url-pattern>*.dec</url-pattern>
</servlet-mapping>
</web-app>
--
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@(protected)
For additional commands, e-mail: user-help@(protected)
©2008 junlu.com - Jax Systems, LLC, U.S.A.