UIData does not preserve submitted values on immediate requests
---------------------------------------------------------------

                 Key: MYFACES-3326
                 URL: https://issues.apache.org/jira/browse/MYFACES-3326
             Project: MyFaces Core
          Issue Type: Bug
          Components: JSR-314
    Affects Versions: 2.1.3
            Reporter: Michael Kurz


I have a h:dataTable component with an h:inputText component per row bound to a 
list. Now I want to add a new row with a h:commandLink outside the table via 
ajax. This link is immediate to avoid validation on the input components.

The problem is, that when I set the command link immediate, data the user 
entered into the input components vanishes (render and execute in f:ajax are 
set to the table). I did some investigations and saw that UIData.encodeBegin() 
resets the state (and submitted values!) before rendering. IMO, the submitted 
values must be preserved if phases 3 to 5 are skipped.

I first thought that setting _isValidChilds to false in processDecodes if 
renderResponse() is called might work. But as the link is outside and after the 
table renderResponse() is not called yet at that point. I wonder what the 
correct way to handle this could be? Maybe remember if processValidators() was 
called on the table. If not, don't kill the state.

Btw. the same applies for ui:repeat.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to