Thanks David - that was very informative. I can't help but thinking that quite many applications would want to lower the NUMBER_OF_VIEWS_IN_SESSION from the default 20. I mean if the user really visits the same website 20 times and thus sees view 1, 2, ..., 20, what are the chances that he will go back and visit, say, view 4? On many sites I would assume that the chance of that is quite low, which could indicate that a much lower number would be relevant. Suppose you lower the NUMBER_OF_VIEWS_IN_SESSION to, say, 5, there will obviously be a greater chance that the user will revisit a view that is no longer cached, but since the server is supposed to be able to deliver that view pretty fast on his first visit anyway it will of course also be able to deliver the view quite fast on his second visit even though the view is not cached. So why is 20 the default? Randahl David Delbecq wrote: Hi randahl, I recommend you take a look at the JSF lifecycle and more particulary at the 'Restore view' and the 'Render response' part. http://www-128.ibm.com/developerworks/java/library/j-jsf2/#N100A9The view is a set of components. The components are read (initial view) with their static values and their EL values and then rendered multiple time. It's at render time that the 'day/night' should be evaluated. If you have this in you page: <myCustomComponents:backgroundColor calor="#{dayBean.isNight?'#000000':'#FFFFFF'}/> then you are sure that background color will always be correct as long as dayBean.isNight() is correct. Randahl Fink Isaksen a écrit :I read that the default for NUMBER_OF_VIEWS_IN_SESSION is 20, meaning that MyFaces will store the latest 20 of a client's views in the client's session. This made me wonder how MyFaces tells the difference between the views and how MyFaces know when to reuse a view. For instance if you visit "/aView.jsf" in a browser how can MyFaces tell whether that view can be safely stored and reused later in the session if you visit the same view again? Let me give an example: Let us say that the view on the address "/aView.jsf" uses a component which makes the background color of the page white during daytime and black during the night. If I then visit the view just before nightfall and receive a white page and then revisit the view during the same session but right after nightfall, what color will the view then be? I would think that if the original view is reused it would still be white even though it should actually now have changed to black. So how can I as a developer tell MyFaces whether or not it is safe to store the information about the background color and for how long the information is valid? Has anyone found some documentation about this? Thank you Randahl |