Uploaded image for project: 'Velocity Tools'
  1. Velocity Tools
  2. VELTOOLS-88

LinkTool could easily be modified to support current-request parameter duplication

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.x, 1.4, 2.x, 3.0
    • Component/s: None
    • Labels:
      None

      Description

      When implementing a pager a long time ago, I created a subclass of the StrutsLinkTool that added two methods: ignore(String paramName) and addAllParameters(). Together, they could be used to copy all the parameters from the current request into the link currently being built, and you could ignore a parameter from the current request using the ignore method.

      I hadn't seen any demand for such a feature out in the wild, so I kept it to myself.

      Now that I'm looking into Struts 2, I can see that their link builder tool has the same capability. Since that team decided to add this feature, I'm offering to add it to the LinkTool, which will provide the same capability to all subclasses such as StrutsLinkTool and SecureLinkTool.

      The change would not affect any existing code out in the wild: this would merely be a new method which supports the new feature. Its use is entirely optional and should not disturb any other code.

      The behavior of the Struts 2 link builder is to replace any current-request parameter explicitly set in the link builder, while my implementation requires that you explicitly ignore those parameters. My enhancement can follow either strategy (and I'd appreciate feedback on this item).

        Attachments

        1. VELTOOLS-88a.diff
          4 kB
          Christopher Schultz
        2. VELTOOLS-88.diff
          2 kB
          Christopher Schultz
        3. LinkToolTests.java
          10 kB
          Christopher Schultz

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              chris@christopherschultz.net Christopher Schultz
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: