> The issue I ran into cascaded from: 'why does myfaces render a form
> after my html tag?' to 'implementing state write behind within
> FaceletViewHandler' to finding out that some HtmlComponents were
> dependent on behavior from the MyFaces JspViewHandler and the
> implementations StateManager.  My first question becomes, well, what if
> some other company (maybe Oracle) wanted to provide a different
> StateManager and suddenly, 'standard' tags stopped working?  It is a
> cascading effect that should be avoided at all costs by guaranteeing that:
>
> 1) API and Implementation code bases are separated
> 2) Implementation Components only deal with API contracts, not locking
> into MyFaces StateManager for ex.
>

righty, right. This is what all open bugs regarding ADF Faces and
Facelets are about. Needs to be fixed. Help is welcome!

>
> Surrounding View creation, with JSF 1.2, view creation happens in two
> steps: build tree, render tree.  This is the sole responsibility of the
> ViewHandler.
>
> Your JspViewHandler would create a ResponseWrapper, capturing inlined
> content within the JSP, include the target JSP-- producing a full
> UIComponent tree that represents the whole page, with transient elements
> representing inlined content.
>
> The second step is simply asking the UIViewRoot (now populated) to
> render itself, then doing State-writebehind on the rendered view and
> finally sending down to the client.
>
> So much of the lifting around missed-state during rendering or the stuff
> that's coordinated in your ViewTag, would be done by any interchangable
> ViewHandler.
>
> Performance wise, the full tree creation doesn't cost you anymore than
> before, secondly the rendering is still the same (same components)--
> along with state saving.  The only cost, really, is 'buffering' the
> rendered output.

Yes - even without being able to implement 1.2 fully right now we were
planning to solve this ASAP. I also talked with Roger Kitain about
this today, we'll see when someone of us actually has the time to
implement it.

regards,

Martin

Reply via email to