struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brandon Ramirez (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (WW-4306) After WW-3330, <@s.action> broken in non-sitemesh freemarker templates
Date Fri, 11 Apr 2014 12:39:14 GMT

    [ https://issues.apache.org/jira/browse/WW-4306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13966454#comment-13966454
] 

Brandon Ramirez commented on WW-4306:
-------------------------------------

The attached WAR file has all the configuration to demonstrate the problem.

If you mean the configuration that works around it, I did this:

    <filter-mapping>
		<filter-name>sitemesh</filter-name>
		<url-pattern>/admin/expertadminsubmitadd.action</url-pattern>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <filter-mapping>
		<filter-name>sitemesh</filter-name>
		<url-pattern>/admin/expertadminedit.action</url-pattern>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>

and repeated for every one of our URL patterns that decorators.xml listens for.

Hacky, but it works...

> After WW-3330, <@s.action> broken in non-sitemesh freemarker templates
> ----------------------------------------------------------------------
>
>                 Key: WW-4306
>                 URL: https://issues.apache.org/jira/browse/WW-4306
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - SiteMesh
>    Affects Versions: 2.3.16.1
>            Reporter: Brandon Ramirez
>              Labels: freemarker, regression
>             Fix For: 2.3.18
>
>         Attachments: ww4306.war
>
>
> After upgrading from Struts 2.1.8.1 to 2.3.16.1, we observed that if a Sitemesh Freemarker
decorator used <@s.action> to include another action, the action's Freemarker view output
is not rendered.
> This is identical to what WW-3330 describes, which is reported fixed in 2.2.3.
> The documentation (http://struts.apache.org/release/2.3.x/docs/sitemesh-plugin.html)
specifies to use com.opensymphony.sitemesh.webapp.SiteMeshFilter.  The fix in WW-3330 applies
to org.apache.struts2.sitemesh.FreemarkerPageFilter, a sub-class of SiteMeshFilter.  Using
SiteMeshFilter as the documentation specifies, WW-3330 does not appear resolved.
> If I change my web.xml to use FreemarkerPageFilter instead of SiteMeshFilter, the WW-3330
problem is resolved, but now <@s.action> from a Freemarker template that is *not* a
Sitemesh decorator over-writes any previous output.
> Steps to reproduce:
> With a web app that uses the FreemarkerPageFilter instead of SiteMeshFilter, create a
Freemarker template that has 3 lines:
> 1. A standard line of static text
> 2. An <@s.action> reference.
> 3. More static text.
> Observed behavior: Text before the output of the <@s.action> call does not get
to the client.
> Expected behavior: All of the output gets to the client.
> Judging by the number of configuration changes (servlets and filters) in 2.2, it is possible
that I have web.xml configured incorrectly.  If that is the case, feel free to throw your
tomatoes :)  But I have triple checked and at this point I am wondering if this is a regression
from WW-3330.
> If needed, I can try to put together a minimal web app to reproduce the problem.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message