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

                 Key: TAPESTRY-1667
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1667
             Project: Tapestry
          Issue Type: Bug
          Components: tapestry-core
    Affects Versions: 5.0
            Reporter: Howard M. Lewis Ship


>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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to