The JAFFA tag library is (and the JAFFA presentation layer) is an extention of the Struts framework. The goal of the
JAFFA tags it to provide a more comprehensive set of 'widgets' and page controls then what is provided by the basic
struts package. It also is designed to address some of the more complex widgets like tables and trees, which are
composed of more simple widgets, like editboxes, checkboxes and buttons. The aim would be to eventually have a HTML based
widget set that is as comprehensive as the widget sets available in desktop GUI builders like Swing, SWT, VB, etc
The advantage of the JAFFA widgets is that they contain all the required DHTML, JavaScript and Server-side Java to provide
common functionality needed by most web based business applications. Each widget is designed and built on a MVC pattern,
where the Model contains the data behind the widget (and is held in the FormBean), the View is a JSP Tag that generates all
the required HTML/JavaScript, and the Controller is implemented as a class that on a form post, will update the widget Model.
In addition to the simple MVC design of the widgets most widgets have additional event handlers, which allow serverside event
to be invoked on the 'Action'.
In addition to the widgets there are various other tags for intergration with JAFFA security, page layout and error handling
which can be used to make coding the JSP's simpler.
Although these tags are design to be used within the context of the complete JAFFA architecture, it is possible to just use them
without using all the component, security, and session management architecture.
|