SynapticPath Home
JSF Component Suite

Welcome

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.

AjaxView - AJAX for JSF

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.

Layout framework

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