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

Dispatching after action phase renders with different stack/TextProvider

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.3.3
    • Fix Version/s: 2.3.7
    • Component/s: Plugin - Portlet
    • Labels:
      None

      Description

      This is actually a rather old bug that was fixed in 2.1.3, but for some unknown reason the bug was reintroduced in 2.3.3.

      The PortletStateInterceptor merges the old stack with the current stack during the render stage. It should add the old root to the beginning of the current root. In 2.3.3 it now adds it to the end.

      This puts the DefaultTextProvider above the Action class, which breaks a bunch of struts tags if your action implements TextProvider.

      Unless there is a reason for the change, the simple fix is changing root.addAll(oldRoot); to root.addAll(0, oldRoot);

      I had created a stackoverflow question that explains the issue in detail.

      http://stackoverflow.com/questions/10557124/possible-struts-portlet-2-3-3-bug-action-class-not-at-the-top-of-the-value-stac

      Original bug:
      https://issues.apache.org/jira/browse/WW-2720

        Attachments

          Activity

            People

            • Assignee:
              jogep Johannes Geppert
              Reporter:
              glopal Michael Menzies
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: