Can some one please clarify "What is this attributes map otherwise really meant for? Is it to maintain JSF internal viewstate ?"
On Fri, Feb 14, 2014 at 1:31 AM, user 01 <user...@gmail.com> wrote: > Thanks a lot Leonardo for the solution. Played somewhat with it, looks > like it'll works for me. The data survives session destroys. > > What is this attributes map otherwise really meant for, to maintain JSF > internal viewstate ? Is it safe for me to use it like that ? Looks like a > hack infact:) > > I could use the attributes map to store values/ objects, can't I just use > this map to store the viewscoped beans simply? > > > On Thu, Feb 13, 2014 at 11:05 AM, Leonardo Uribe <lu4...@gmail.com> wrote: > >> Hi >> >> In JSF 2.2 it was decided to store view scope beans always in session >> (take a look at the description of @ViewScoped annotation in the >> javadoc). But you can just call facesContext.getViewRoot() and use the >> attribute map. Just remember the values there must be Serializable or >> implement StateHolder. >> >> In my understanding, this was done in this way to support @PreDestroy >> annotation when the session is expired. >> >> regards, >> >> Leonardo Uribe >> >> >> >> 2014-02-12 23:28 GMT-05:00 user 01 <user...@gmail.com>: >> > I'm using Myfaces 2.2 with Client-side state saving. I see that the >> > ViewScoped beans & data stored in viewmap is lost after the user >> session is >> > destroyed. >> > I came to know, not sure if it is correct, that this is the expected >> > behavior but then what's the way to avoid view expired exceptions after >> > session destroy? >> > >> > My problem is that I destroy the user session pretty quickly after some >> > inactivity period(like after 20 minutes) but I want the viewscope data >> to >> > survive even after that(when using client saving) so that when the user >> > comes back after session destroy, he doesn't need to do a page refresh. >> I >> > dont know why & how this is so implemented but It is very normal that >> the >> > user may be busy reading some section of website or be away for 20 >> minutes, >> > & as he comes back & interacts with opened pages, how would I make that >> > work without the state ? >> > I think this is a common requirement for any public websites. >> > >> > I think the internally used jsf viewstate is not lost, if I use client >> side >> > state saving(as my pages still work), but then why are those viewscoped >> > beans scoped that were also serialized to page along with the viewstate. >> > >> > If this the designed behavior, Is there any way I could make the view >> > scoped data survive session expiration ? >> > >