Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-4306

After WW-3330, <@s.action> broken in non-sitemesh freemarker templates

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      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.

      Attachments

        1. ww4306.war
          4.66 MB
          Brandon Ramirez

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            bramirez Brandon Ramirez
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment