dev@jsftemplating.java.net

Example for reading handlers...

From: Ken Paulsen <Ken.Paulsen_at_Sun.COM>
Date: Tue, 17 Apr 2007 16:54:16 -0700

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