Design

Top  Previous  Next

WebGalileo Faces™ framework consists of component classes and java server pages tag classes that use components.

WebGalileo Faces™ is delivered with the predefined JSP custom tag classes as a default client of component framework allowing to quickly begin to build JSP pages. But the framework isn't restricted to usage of JSP technology. All WebGalileo Faces Components can be assembled and rendered by not only JSP pages.

Facelets technology is supported as well.

 

All components are built using Model-View-Controller design. Such separation for the tiers with predefined responsibilities allows to quickly modify the whole behavior of a component with minimal changes in it's structure. Component's models (data model,selection model) contain a data for drawing and current state (selection model). View is responsible for component's look and feel .

 

Controller defines component's lifecycle and manages models and view. Every component has corresponding Data and Selection model (if necessary) , Controller(component itself) and Renderer (responsible for drawing of a component).

 

Components are supplied with the predefined interfaces of models, component itself and renderer and contain a broad range of already implemented functionality. Nevertheless developer can easily extend the default implementation or reimplement it from the scratch to obtain a new functionality.

 

Renderer is responsible for a component's client side presentation , so developer can implement a separate set of ones to dynamically assign them to the component allowing different representation of the component for different application clients.

 

All WebGalileo Faces™ Components provide a strongly typed event model that allows the application to write server-side handlers for client generated events. Each component has the set of events.

 

To add your own server-side event handler you need to implement concrete event listeners and add it to component or in case of using JSP tags to add corresponding property with the full class name to component tag.

 

All component-level events extend from JavaServerFaces FacesEvent and all component-level listeners extend from JavaServerFaces FacesListener.

 

All components supporting AJAX have pre-defined PhaseListeners to allow seamless integration with the framework.