Hi Barry I've been using a different workaround for this and maybe it could help you. You can listen for the DECORATE_PAGE_RENDER_LINK and then "decorate" the link as you want. Add something like this to your page.
@OnEvent(EventConstants.DECORATE_PAGE_RENDER_LINK) void decoratePageRenderLink(Link link, PageRenderRequestParameters parameters) { if (parameters.getLogicalPageName().equals("YOUR_LOGICAL_PAGE_NAME")) { for (String name : link.getParameterNames()) { link.removeParameter(name); } } } Cheers. Alejandro. On Thu, May 9, 2013 at 2:44 PM, Barry Books <trs...@gmail.com> wrote: > I am using @ActivationRequestParameter and perhaps this is feature under > some circumstances but currently it seems like a bug to me. > > In this case I have a menu item called 'All Prints' that goes to a page > that might set ARP fields from a search. I'd like the menu link to always > go to the page without any url parameters so that it will show All Prints. > If I just had a simple PageLink I could just set parameters="{'tag'='All'}" > but the menu links come from a database so they can be dynamically added. > I did get it to work as I wanted by adding a context of 'All' the pagelink > and then set tag to null in begin render. The only think I don't like about > that is the URL ends up being: > > /studio/work/All?tag=Paris (best case would be /studio/work?tag=All which I > don't really care for either) > > I suspect I'll really fix this by hardcoding a URL in the database and just > using <a href="/studio/work/"> but that seems wrong. > > I guess it comes down to what PageLink should do. I view it as a way to go > to some arbitrary page with a set of arguments I specify. I'm OK with > leaving context and parameters empty and Tapestry providing defaults but it > seems like if I supply a value it should use that and only that. I suppose > there may be other cases where this functionality is useful but I can't > think of any off hand. Perhaps if parameters="null" or parameters="{}" > would just remove all parameters that might be OK and would solve the > common case of: > > 1. A menu item linking to a page that shows a bunch of things > 2. The page has search parameters to narrow the list and uses ARP to store > them > > The menu link does not need to know (and should not know) what the possible > set of search criteria is, it just wants to turn them all off. The search > page can handle them using EventLink to clear individual ones. > > > > On Wed, May 8, 2013 at 7:06 PM, Howard Lewis Ship <hls...@gmail.com> > wrote: > > > I suspect you are using @ActivationRequestParameter annotatations and > that > > is the source of your "sticky" query parameters. > > > > It may be a bug that you explicitly supply an empt parameters map to the > > PageLink and it still adds the ARP in, but that is likely a feature. > > > > To accomplish what you want, you may need to set the ARP fields to null > > inside beginRender(). > > > > > > > > On Wed, May 8, 2013 at 6:02 AM, Barry Books <trs...@gmail.com> wrote: > > > > > I've got a menu item generated from a database with a pagelink like > this > > > > > > <t:pagelink page="prop:drop.page" context="dropContext" > > > style="${drop.style}" > > > >${drop.label}</t:pagelink> > > > > > > > > > I've added a search function to one of the linked pages that adds > > > parameters to the URL with > > > > > > > > > <t:pagelink ... parameters="search">Page</t:pagelink> > > > > > > > > > I'd like to make the menu item clear the search so I tried this: > > > > > > > > > <t:pagelink page="prop:drop.page" context="dropContext" style="${drop > > > .style}" parameters="{}">${drop.label}</t:pagelink> > > > > > > > > > but it does not work. It seems Tapestry is clever enough to always add > my > > > search criteria to the parameter map. This would be easy enough to fix > if > > > my menu was not driven from a database but I don't see an easy to make > my > > > generic menu know how to fix this. > > > > > > > > > It would seem useful to be able to say <t:pagelink ... > > > parameters="null">Page</t:pagelink> but parameters cannot be set to > null. > > > > > > > > > Any suggestions? > > > > > > > > > > > -- > > Howard M. Lewis Ship > > > > Creator of Apache Tapestry > > > > The source for Tapestry training, mentoring and support. Contact me to > > learn how I can get you up and productive in Tapestry fast! > > > > (971) 678-5210 > > http://howardlewisship.com > > >