myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Werner Punz <>
Subject Re: myfaces 2.0: f:ajax again
Date Mon, 31 Aug 2009 07:40:09 GMT
Leonardo Uribe schrieb:
> Hi Werner
> I'm checking the code trying to find missing stuff required to implement 
> f:ajax. On MYFACES-2323 I'll put all information I can deduct about 
> f:ajax and facelets. It could be good to have a empty tag handler file 
> for ajax committed, so we can put comments there and start implement it, 
> but I don't know if the code you are working has this file.
Actually what I am doing currently is to implement the behavior and the 
renderer for now, once I know it runs I will commit it into the codebase.

Then basically you can dock it on via a custom tag handler, we wont need 
jsp as far as I know since the JSP part is omitted for f:ajax for now.

The main issue I have with the tag handler is that it touches two new 
parts which I am not too familiar with, the behavior bindings in the 
core and the tag handler API of facelets (with some jsf2 specific 
It is not impossible for me to read myself into those parts, the only 
problem is time, since I have to work for the next weeks three days per 
week for a customer, but I assume we would get faster results by someone 
taking over those parts who kow them better than I do.

What makes the tag handler particularily different is that it has to resolve
the situations of being a child of another tag or being a parent tag 
itself and also it has to touch the compound componend stuff of facelets
by resolving the facelet compound component stuff.
All this must be resolved in the tag handler not in the behavior, I 
assume. The behavior itself by contract does not do too much it just can
issue an event and can return a javascript code which has to be bound to 
the component.

It however is rather straight forward not too different to a classical 
component, I am almost done with it it just needs some testing. However 
implementing it revealed a huge hole in the basic api of the behavior. 
Behaviors themselves can be partially state saved by providing the 
necessary interface but they do not have anything regarding 
getStateHelper in the base class like UIComponentBase has. I probably 
will extract an  interface for impl only,
so that we can have a generic API für such cases for our state helpers 
and I will introduce a state helper which can deal with behaviors.
(Done that but currently bound to the ajax behavior)


View raw message