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

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Closed Closed
        8m 54s 1 Howard M. Lewis Ship 25/Jul/07 17:11
        Mark Thomas made changes -
        Workflow Default workflow, editable Closed status [ 12567034 ] jira [ 12589959 ]
        Mark Thomas made changes -
        Workflow jira [ 12409193 ] Default workflow, editable Closed status [ 12567034 ]
        Howard M. Lewis Ship made changes -
        Field Original Value New Value
        Assignee Howard M. Lewis Ship [ hlship ]
        Resolution Fixed [ 1 ]
        Fix Version/s 5.0.6 [ 12312544 ]
        Status Open [ 1 ] Closed [ 6 ]
        Howard M. Lewis Ship created issue -

          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