Tapestry
  1. Tapestry
  2. TAPESTRY-1667

Parameters bound to expansions may be cached when they should not be

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0
    • Fix Version/s: 5.0.6
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      From the mailing list:

      Hi,

      I wrote a simple pager component but one parameter (currentPage)
      is not updated in a second request.

      In the template I have the following:

      <t:pager t:numberOfPages="$

      {numberOfPages}

      "
      t:currentPage="$

      {currentPage}

      "
      ... some other attributes ... />

      In the page class this currentPage accessor:

      public int getCurrentPage()

      { return _currentPage; }

      which is an int and has the correct values in all requests.

      The pager component contains this currentPage property

      @Parameter(required = true, defaultPrefix="prop")
      private Integer _currentPage;

      which is used in

      @BeginRender
      boolean beginRender( MarkupWriter writer )

      which returns false (no other render methods, no template).

      When I debug the code I see, that the first time, the _currentPage is
      accessed, the pages getCurrentPage method is invoked.
      In all subsequent page requests, the value of the first request is
      still stored and not updated.

      What am I doing wrong, or should T5 behave differently?

      Do I have to take any action to unbind/uncache/reset the currentPage
      property in the pager component?

      Thanx && cheers,
      Martin

      This made my think that the binding for expansions may indicate the value is cacheable, when it is not.

        Activity

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development