Uploaded image for project: 'Struts 1'
  1. Struts 1
  2. STR-2879

when used in modules, TilesPreProcessor not backwards compatible with 1.2.x

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.3.4
    • 1.3.5
    • Tiles 1 Plugin
    • None

    Description

      When used in any "module" other than the "root" (or default), the implementation of TilesPreProcessor does not work in the same way that the TilesRequestProcessor did in earlier versions of Struts.

      Specifically, because it does not dispatch the forward itself, it leaves the "module" unarticulated; this causes PerformForward to attempt to resolve the base Tiles JSP (or other path) relative to the current module, which is not how it used to be.

      I think the best solution would be for the TilesPreProcessor to actually do the requestDispatcher.forward() (or include) in cases where it finds that the working ForwardConfig is for a tile definition, rather than returning a ForwardConfig. It can return "true" to signal that the chain should end.

      The only argument against this would be if people thought they'd want to add more chain logic after the TilesPreProcessor. I suppose it could set the ForwardConfig to null and let the chain continue.

      I'd love some opinions on this, and it'll be a couple of days before I could do a fix, so please weigh in if you have any. Also, module users are encouraged to step up and help clarify, as I only use them under protest

      Attachments

        Activity

          People

            Unassigned Unassigned
            germuska Joseph Lad Germuska
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: