RichFaces
   HOME

TheInfoList



OR:

RichFaces was an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
Ajax Ajax may refer to: Greek mythology and tragedy * Ajax the Great, a Greek mythological hero, son of King Telamon and Periboea * Ajax the Lesser, a Greek mythological hero, son of Oileus, the king of Locris * Ajax (play), ''Ajax'' (play), by the an ...
-enabled component library for
JavaServer Faces Jakarta Faces, formerly Jakarta Server Faces and JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications. It was formalized as a standard through the Java Community Process as part of the ...
, hosted by
JBoss WildFly, formerly known as JBoss AS, or simply JBoss, is an application server written by JBoss, now developed by Red Hat. WildFly is written in Java and implements the Java Platform, Enterprise Edition (Java EE) specification. It runs on mult ...
. It allows easy integration of Ajax capabilities into
enterprise application Enterprise software, also known as enterprise application software (EAS), is computer software used to satisfy the needs of an organization rather than its individual users. Enterprise software is an integral part of a computer-based information ...
development. It reached its end-of-life in June 2016. RichFaces is more than just a component library for JavaServer Faces. It adds: * Skinability (easily change and update application look and feel) * Component Development Kit (CDK) to assist in constructing JavaServer Faces components * Dynamic Resource Framework * Both page wide, and component based Ajax control components.


History

RichFaces originated from the Ajax4jsf framework which Alexander Smirnov designed and implemented. In the autumn of 2005 Smirnov joined Exadel and continued to develop the framework. In March 2006 Exadel released the first version of what would become Ajax4jsf. Later in the same year, Exadel VCP was split off and the Ajax4jsf framework and RichFaces was born. While RichFaces provided out-of-the-box components (a "component-centric" Ajax approach, where components do everything you need), Ajax4jsf provided page-wide Ajax support. Developers specify which parts of the page the server should process after some client-side user actions and which parts should be updated after processing. Ajax4jsf became an open-source project hosted on
java.net java.net was a Java technology related community website. It also offered a web-based source code repository for Java projects. It was shut down in April 2017. History java.net was announced by Sun Microsystems during JavaOne 2003. In Januar ...
, while RichFaces became a commercial JSF component library. In March 2007
JBoss WildFly, formerly known as JBoss AS, or simply JBoss, is an application server written by JBoss, now developed by Red Hat. WildFly is written in Java and implements the Java Platform, Enterprise Edition (Java EE) specification. It runs on mult ...
(a division of
Red Hat Red Hat, Inc. (formerly Red Hat Software, Inc.) is an American software company that provides open source software products to enterprises and is a subsidiary of IBM. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North ...
from 2006) and Exadel signed a partnership agreement whereby Ajax4jsf and RichFaces would come under the JBoss umbrella as "JBoss Ajax4jsf" and as "JBoss RichFaces". RichFaces would now also become open-source and free. In September 2007 JBoss and Exadel decided to merge Ajax4jsf and RichFaces under the RichFaces name. It made sense as both libraries were now free and open-source. Having just one product solved many existing version- and compatibility-issues, such as which version of Ajax4jsf would work with which version of RichFaces. On February 12, 2016, the RichFaces developer Michal Petrov announced the end-of-life of RichFaces for June 2016.


Framework

The framework is implemented as a component library which adds
Ajax Ajax may refer to: Greek mythology and tragedy * Ajax the Great, a Greek mythological hero, son of King Telamon and Periboea * Ajax the Lesser, a Greek mythological hero, son of Oileus, the king of Locris * Ajax (play), ''Ajax'' (play), by the an ...
capability into existing pages, so a developer doesn't need to write any
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
code or to replace existing components with new Ajax widgets. RichFaces enables page-wide Ajax support instead of the traditional component-wide support. Hence, a developer can define the event on the page that invokes an Ajax request and the areas of the page that should be synchronized with the JSF Component Tree after the Ajax request changes the data on the server according to the events fired on the client. RichFaces allows you to define (by means of JSF tags) different parts of a JSF page you wish to update with an Ajax request, and provides a few options to send Ajax requests to the server. Also the JSF page doesn't change from a "regular" JSF page and you don't need to write any JavaScript code by hand. By controlling everything from the server side, almost no JavaScript is needed and the page state can be maintained easily in the server.


RichFaces architecture

The architecture of RichFaces consists of an Ajax filter, Ajax action components, Ajax containers, and a JavaScript engine. : Ajax filter - In order to get all benefits of RichFaces, a developer should register a filter in the web.xml file of the application. The filter recognizes multiple request types. : Ajax action components - AjaxCommandButton, AjaxCommandLink, AjaxPoll and AjaxSupport and other action components can be used to send Ajax requests from the client side. : Ajax's containers - AjaxContainer is an interface that describes an area on a JSF page that should be decoded during an Ajax request. AjaxViewRoot and AjaxRegion are implementations of this interface. : JavaScript engine - the RichFaces JavaScript engine runs on the client-side. It updates different areas on a JSF page based on the information from the Ajax response. The JavaScript engine provides an API, so developers do not need to create their own JavaScript functionality.


Skinnability

Skinnability is a special feature of RichFaces that is used for defining common interface styles. The feature is based on XCSS technology, which provides flexibility and dynamics. RichFaces provides a set of predefined skins: * DEFAULT * plain * emeraldTown * blueSky * wine * japanCherry * ruby * classic * deepMarine * Laguna (new - RichFaces 3.2.1) * GlassX (new - RichFaces 3.2.2) * DarkX (new - RichFaces 3.2.2) Skin properties, such as, generalBackgroundColor, generalLinkColor, headerFamilyFont etc. are stored in skinname.skin.properties file. Each component has a XCSS (a special file format that combines flexibility of XML and CSS) file that performs mapping of CSS selectors to the skin properties of a particular skin. Additionally, RichFaces provides skinning for standard HTML controls. You can create a custom skin using Plug-n-Skin feature, which is a Maven archetype that builds a skeleton for a new skin.


Simple JSF page with RichFaces calendar component

This is the result of the presented above code


See also

*
Comparison of web frameworks Two comparisons of web frameworks are available: * Comparison of JavaScript-based web frameworks This is a comparison of web frameworks for front-end web development that are reliant on JavaScript code for their behavior. General in ...
*
List of JBoss software This is a list of articles for JBoss software, and projects from the JBoss Community and Red Hat. This open-source software written in Java is developed in projects, and productized with commercial-level support by Red Hat. JBoss productized so ...


References


External links

*{{Official website, richfaces.jboss.org
RichFaces Showcase
Jakarta Faces Java enterprise platform Java specification requests Web frameworks Red Hat software