struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Scott Hong <yowmh...@yahoo.com>
Subject Struts 2.1.8 + SiteMesh 2.4.2 + FreeMarkerPageFilter Broken
Date Fri, 02 Oct 2009 19:52:16 GMT


The dependency of Struts 2.1.8 on SiteMesh 2.4.2 breaks FreeMarkerPageFilter
as a decorator.

If the web.xml is setup as follows and using Freemarker as the SiteMesh
decorator,
sitemesh cannot render the decorated page properly. After tracking down the
source, 
the root cause of the issue is that the PageFilter in deprecated and
SiteMesh developer
have to force existing application to use the new SiteMeshFilter by using
the following
implementation!!! This deprecated change seems to be heavy handed on the
SiteMesh 
side!

public class PageFilter extends SiteMeshFilter {
}

One solution is to use older version of sitemesh (2.2.1) and it would work
normally.
Until "struts-sitemesh-plugin" is updated to address this issue either by
moving the
old SiteMesh 2.2.1's implementation of PageFilter or fixed current
implementation 
using the new SiteMeshFilter.

web.xml setup...

    <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>struts</filter-name>
       
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        <init-param>
            <param-name>actionPackages</param-name>
            <param-value>org.acme.*Action</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
    <filter-mapping>
        <filter-name>sitemesh</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>

-- Scott
-- 
View this message in context: http://www.nabble.com/Struts-2.1.8-%2B-SiteMesh-2.4.2-%2B-FreeMarkerPageFilter-Broken-tp25721587p25721587.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message