The following pages showcase the SynapticFaces rich JSF components.
SynapticFaces
is not just another collection JSF components; Leveraging the
versatility
of JSF, and powered by JavaScript Extension Toolkit (
JSX
), SynapticFaces
represents the most robust and flexible Web Application Framework - period.
These pages aren't intended to list the advantages of SynapticFaces
over other frameworks such
as Backbase, GWT, IceFaces, for that, start a thread in our
forum
, instead we'll
list out and explain all of the unique properties that make SynapticFaces
stand out
head and shoulders above the crows.
- Web Application functionality split between client and server
ensures that
state is preserved.
- Unique Ajax solution provides extra level of flexibility.
- Layout framework scales the application to the client size
with no
cost to the developer.
- Behaviors that provide on-demand JavaScript to any JSF
component.
Behaviors
Behaviors are the binding blocks that bind JSF components with JSX
functionality.
Any component can now have a complex but reusable behavior attached to
it using
one line of code.
Almost every SynapticFaces JSF component relies on behaviors to
deliver browser-side functionality.
Unlike other popular methods that give the Java Server Faces an
AJAX functionality, we use an AjaxView JSF component defined by a JSTL
tag.
This approach brings many benefits over the more traditional
method of defining an "ajax phase listener".
-
Tag based AJAX definition is explicit, once per JSP page. This
gives more control over the ouptput.
-
Tag based AJAX ensures 'consistent' output encoding for rendering
during
regular as well as AJAX requests.
With SynapticFaces and Layout framework you'll never see cascading reload
of various and nested components everything is rendered at once.
Components
are rendered exactly to size every time.
Converters
The converters in SynapticFaces exist primarily to fill a major
shortcoming in
JSF conversion; The ability to insert extra parameters other than
component's id
into the conversion error message.
Although our converters do not leverage any JSX behavior themselves, they
have
been made compatible with a client validation behavior that allows the
component's
intput to be validated before it is submitted to server.
Validators
The biggest reason we have decided to give the date validation for JSF
a try is the fact that jsf validation is not portable to browser side.
The functionality we wanted to achieve is to have both server-side as
well as client-side validation active. That way clients with
JavaScript
support enabled on their browser would be able to get a feedback to their
form before submitting. It saves expensive bandwidth and reduces load
on the server.
- validators feature pattern oriented error messages that
receive extra parameters using MessageFormat utility.
- validators can export their attributes for client side
rendering, that way JSX client
side validation framework can perform validations that are functionally
indistinguishable from server side validation.
Components
Our State of the art components benefit from the unified
platform that the JSX provides. With JSX, a series of standalone
widgets become a powerful event driven web application. All our components
are designed to be fully customized through css.
- text input - unlike the h:inputText it accepts a
"RequiredValidator" functionality
- editable combobox
- tree component - a generic tree that can be made into any
menu.
- Tabbed Pane
- Border Layout Pane