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

Leonardo Uribe commented on MYFACES-4318:
-----------------------------------------

The example provided will never work, because c:forEach is a tag that only 
works on build view time. The value inside "current" var is lost on render 
response time, because c:forEach does not have a counterpart at that time.

In other words, c:forEach just does not play well with JSF lifecycle. So, this 
is not a bug, the example provided is not correct, and there is no valid 
workaround for it.

Don't waste time trying to fix it, it is pointless and you will end up chasing 
you own tail. The answer is simple, use other iteration component that has a 
JSF component counterpart.

 

> c:forEach problem with client side state saving
> -----------------------------------------------
>
>                 Key: MYFACES-4318
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4318
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.2.12, 2.3.6
>            Reporter: Bill Lucy
>            Priority: Major
>         Attachments: jsf_foreach_client_state.war, 
> jsf_foreach_client_state_mvn.zip
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> There appears to be a problem with c:forEach when client side state saving is 
> enabled -  component states are not restored correctly after a submit.  For 
> example, the text entered into this inputText is lost:
> {{{color:#800000}<c:forEach{color} 
> {color:#ff0000}var{color}{color:#000000}={color}{color:#0000ff}"current"{color}
>  
> {color:#ff0000}items{color}{color:#000000}={color}{color:#0000ff}"#\{list.items}"{color}{color:#800000}>{color}}}
> {{{color:#800000}<h:inputText{color} 
> {color:#ff0000}value{color}{color:#000000}={color}{color:#0000ff}"#\{current.value}"{color}{color:#800000}/>{color}}}
> {{{color:#800000}<h:commandButton{color} 
> {color:#ff0000}value{color}{color:#000000}={color}{color:#0000ff}"submit"{color}{color:#800000}/>{color}}}
> {{{color:#800000}</c:forEach>{color}}}
>  
> This example works (the inputText is not lost) with server side state saving 
> enabled, and it also works on Mojarra with client side state saving. I 
> haven't figured out what exactly is causing this behavior yet - if anyone 
> else has insight in this area I'd appreciate hints.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to