Per our IRC discussion, we'll provide the following format for the
Faclets syntax for handlers:
<ui:event type="[eventType]">
handler1(input1="value" input2='value', output1=>$attribute{foo});
handler2(...);
if (#{something}) {
handler3(...);
}
</ui:event>
If you have 2nd thoughts other ideas let me know. We can refine the
body content above if you have ideas (like qoob's ideas re: I/O params,
etc.).
Your Faclets XML parser will need to handle the XML part and pass in the
body content to the EventParserCommand. I wrote a test case showing how
this is done. Look at:
/test/java/com/sun/jsftemplating/layout/template/EventParserCommandTest.java
You may cache a reference to the EventParserCommand class (perhaps it
should have been a singleton?). The "elt" in the test class is the
LayoutComponent that contains the <ui:event> tag. You will need to call
parser.open() and reader.pushTag("event"). You will also need to append
"/>" to the end of your handlers (body content) in order to allow the
code to correctly stop when it is supposed to.
After you do that, handlers should be 100% functional for the Facelets
syntax! Let me know if you have questions or problems.
Thanks!
Ken