myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "mansi (JIRA)" <>
Subject [jira] [Commented] (MYFACES-4036) UIData state is not restorable when rowStatePreserved is set to true
Date Tue, 24 May 2016 05:57:14 GMT


mansi commented on MYFACES-4036:

Thanks for the suggestion 
This issue also exists when we disable PSS. 
So its only components inside the datatable for which the input value is not persisted when
validation fails  while if we move these components outside the datatable the input value
is persisted when validation fails .
Also bridge invokes the JSF lifecycle and after that it saves the state using processSaveState().
As you mentioned about buildView ,it will be executed when JSF lifecycle is invoked .So if
we replace processViewState with buildView then the buildView would be invoked twice i.e once
when JSF lifecycle is executed and second time when we want to save the state in bridge .
Also processViewstate returns an object but buildView is a void method . Can you please suggest
how can we get the viewstate after JSF lifecycle is executed . Please share your thoughts

> UIData state is not restorable when rowStatePreserved is set to true
> --------------------------------------------------------------------
>                 Key: MYFACES-4036
>                 URL:
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.2.10-SNAPSHOT
>         Environment: WebSphere Liberty, MyFaces 2.2.8, IBM JSF Portlet Bridge
>            Reporter: Hank Ibell
>            Priority: Minor
> A JSF portlet with input fields inside a h:dataTable component will lose their local
values if validation fails, even when rowStatePreserved is set to true.
> The IBM JSF portlet bridge calls processSaveState() on UIViewRoot so that the bridge
can restore the view state on their RENDER request. After looking at UIData, it looks like
_initialDescendantFullComponentState is lost between Portal's ACTION and RENDER requests (a
new UIData object is created on the RENDER request). Unfortunately, UIData's _rowDeltaStates
will not be restored without its initial state.
> It looks like UIData should also save/restore _initialDescendantFullComponentState in
its saveSate()/restoreState() methods since it may be needed to restore _rowDeltaStates.

This message was sent by Atlassian JIRA

View raw message