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]