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).