ForBean doesn't remember and reset value and index state after rendering
------------------------------------------------------------------------

                 Key: TAPESTRY-1959
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1959
             Project: Tapestry
          Issue Type: Bug
          Components: Core Components
    Affects Versions: 4.1.3, 4.1.2, 4.1.1, 4.1
            Reporter: Greg Woolsey


ForBean doesn't behave like Block does for context, and I think it should.  
Block remembers it's Invoker value before rendering in a given context, and 
resets it when done.  This allows Block to be used recursively (containing a 
RenderBlock that renders the containing Block, generally with different 
bindings).

However, the ForBean component doesn't do this with it's source and value 
bindings when it renders.  This causes a problem when used in a recursive 
Block, as described here on the wiki:

http://wiki.apache.org/tapestry/RecursiveComponents

That page also contains a component class derived from ForBean that does the 
right thing - quite trivial to implement.

The side effect that I think is really a bug, not a feature, is that when a 
ForBean is done rendering, the properties bound to its value and index bindings 
reference the last values set by the bean, not their original values.  This may 
be desired in some cases, but in a recursive Block/RenderBlock implementation, 
this breaks the recursion. If you need more detail, just comment that fact and 
I'll try to explain futher.

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