[ 
https://issues.apache.org/jira/browse/MYFACES-3964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14377160#comment-14377160
 ] 

Leonardo Uribe commented on MYFACES-3964:
-----------------------------------------

I have to say it works as expected. c:forEach is a "build view time tag", which 
means it is executed when the view is build. ui:repeat and h:dataTable are 
"render time tags", so they are evaluated every time the view is rendered, 
based on its underlying DataModel. 

The explanation of the problem can be found on MYFACES-3811. The fix in place 
uses equals method to check if the state of the row has changed and if that so, 
remove the state. I'll take a look at the example to see if we can do something 
about it. 

> c:foreach not working when using custom equals or non serializable objects
> --------------------------------------------------------------------------
>
>                 Key: MYFACES-3964
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3964
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 2.2.7
>            Reporter: Gonçalo Manuel Cruchinho
>         Attachments: MyFaces22Test.war
>
>
> c:foreach doesn't work as intended when using an object with an overriden 
> equals. The same problem is observed when using an non serializable object. 
> In both cases the problem seems to be that the foreach component caches and 
> uses an outdated reference to the object.
> When using a serializable object with a non overwriten equals method, all 
> works as intended.
> When forcing org.apache.myfaces.STRICT_JSF_2_FACELETS_COMPATIBILITY as true 
> on the web.xml file, all works as intended.
> When using ui:repeat, all works as intended.
> I created a test case that demonstrates the problem.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to