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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 5.3.7, 5.4
    • Fix Version/s: 5.4
    • Component/s: tapestry-core
    • Labels:

      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

              • Assignee:
                hlship Howard M. Lewis Ship
                Reporter:
                hlship Howard M. Lewis Ship
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: