When you say at the end of your email that Tapestry rendered the loop even
if the condition is false, how are you checking the condition?  Have you
tried using the question mark operator in your output loop / condition to
stop output if an item is null?  Ex.:

<t:formatnull value="${contract?.manager?.address?.city?.name}" />

... where if any of the hierarchy is null is will stop trying to evaluate
methods / properties on subordinates, avoiding a NPE.

Is it possible that where you are referencing a condition in a loop that the
actual reference is invisibly instantiating something?

Regards,
Jim.

-----Original Message-----
From: leandroaisp...@gmail.com [mailto:leandroaisp...@gmail.com] 
Sent: 22 December 2010 12:03
To: users@tapestry.apache.org
Subject: help with bug TAP5-587

-Hi,
Is there any solution for bug TAP5-587?
I have searched in the releases notes, but a solution did not appear .
My page needs to show an input text for each element of a variable size
collection, that's the reason why I can't use blocks, the quantity needs to
be variable. For that reason i have used the loop component but i get the
exception that you can look at TAP5-587 .
The cause of the bug is that when a volatile Loop in a form gets updated
through Ajax and results in having less source items than on initial page
render, a java.util.NoSuchElementException because the Loop seems to think
there are more source items then there are.
The report bug gives a solution, rewrite the Loop's advanceVolatile()
method, but it doesn't work, that solves the NoSuchElementException but the
form fails. The form wants to render some input, and read a null property of
an object from the collection.
I tried to use an if sentence in the .tml, but it doesn't work. Tapestry
rendered the loop even if the condition is false, and throws the same
exception.

Any ideas?


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to