>From: [EMAIL PROTECTED]
>
>Declaring subviews and ajax regions is only a partial solution-- when JSF in fact
>should be able to re-render any component without being explicitly declared as a
>refreshable region (that's what we were pushing out of Facelets and JSF 1.2). 
>Ajax4Jsf does this by decoration of existing, non-ajax components and the JSF
>1.2 invokeOnComponent (Martin, et. al) can do it for any component without
>decoration in a very, very efficient manner.
 
I have a related question that I'm sure you guys can help me understand.  It has more
to do with restoring the view and then recreating the components that are marked as
transient.  I think you would have similar issues with partial page rendering.
 
There was a recent change in the myfaces UIViewRoot.  The change was related
to the createUniqueId method.  This component now persists the last generated id. 
From what I understand, JSF RI 1.2 behaves the same.
 
What I'm unsure about is how to insert a new component (verbatim) into a restored tree. 
What is the best way to calculate an id that won't collide.  It also requires a different method
of inspecting the restored tree to see if a component needs to be recreated using the
findComponent method.
 
For a temporary solution with Clay, I create my own sequence that is reset each time the
view is rendered and passed around in request scope.  This new sequence doesn't use
the UIViewRoot's method of generating a sequence but it seems to work.
 
It appears that the myfaces JSP tags are doing a similar thing.  The generated component
id's don't appear to be generated using the UIViewRoot.
 
Any insight would be appreciated.
Gary

Reply via email to