You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Greg Woolsey (JIRA)" <de...@tapestry.apache.org> on 2007/12/05 22:16:43 UTC

[jira] Created: (TAPESTRY-1962) Problem with If condition binding in a recursive context

Problem with If condition binding in a recursive context
--------------------------------------------------------

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


While working on the example code related to TAPESTRY-1959, I encountered this very strange behavior:

When a Block that contains a For component that renders a RenderBlock that renders the containing block again for each iteration also contains an If component, that If component's condition binding is not reevaluated when rendering the first child iteration.  I don't know why, but I know what the output looks like and the debugger says for _$condition$cached - it says true for the first child when it should be false.  I also had debug output in my method called as the expression for the condition parameter, and verified it wasn't called for the first child iterations at any level.

I don't have a solution, as I don't know where to find the code related to cached bindings.  However, using a custom component spec based on If.jwc and adding cache="no" to the condition and conditionValue parameters fixed the problem.

The same Wiki page referenced in TAPESTRY-1959 contains a section about this issue.

-- 
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: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org