Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-2126

TAP5-2063 fix (multi-valued parameters in Link) conflicts with use of ActivationRequestParameter and PageLink.parameters parameter

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 5.3.7, 5.4
    • 5.4
    • tapestry-core

    Description

      Imagine a page that has an @ActivationRequestParameter with name "page" (this is for a search results page).

      To navigate between pages of the overall result set, the PageLink uses the parameters parameter to set the page:

      <t:pagelink page="xxx" parameters="

      { page: nextPage }

      "> ...

      In 5.3.6, this would render as:

      /xxx?page=Y (where Y was the value of nextPage)

      In 5.3.7 and 5.4, this renders incorrect as:

      /xxx?page=A&page=B (where A is the current value of the page field, and B is the value of nextPage)

      End result: unable to navigate to the next page!

      I believe the fix for this is to introduce a forceAttribute(String,Object) that overrides, rather than merges, the values. The parameters parameter will force attributes.

      If that is insufficient, applications can create their own custom linking components, which use the Link interface directly, to get exactly what they need. All of the necessary APIs are public.

      Attachments

        Issue Links

          Activity

            People

              hlship Howard Lewis Ship
              hlship Howard Lewis Ship
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: