Apache MyFaces
UI-Component Sets


General Introduction

Welcome and hello to MyFaces Extension-Scripting, short Ext-Scripting. Ext-Scripting is an extensions project for MyFaces. It tries to add scripting and rapid prototyping (artifact level hot deployment) capabilities to JSF by adding scripting languages and JSP like recompilation mechanisms. Following link to the a video on YouTube shows you what Ext-Scripting can do for you:

As the video shows, you can make changes to almost all JSF artifacts on the fly, and at the next reload the changes are present. The result is a reduction in server restarts and better turn around times. The same rapid prototyping approach which is normally present in scripting languages and scripting language based frameworks. Additionally to that, Ext-Scripting integrates various scripting languages to be used in conjunction with JSF, so that a mixed language approach becomes feasible within the bounds of the framework.


Ext-Scripting provides extensive documentation. Feel free to browse our Installation Guide or Users Guide for further information.

Also download links are provided on the left hand side of this page, as well as further information.

Short Overview over Ext-Scripting

Supported for Scripting Languages

Ext-Scripting currently only supports Groovy Java and Scala (1.0.3+) as dynamic languages. Additional languages will be provided in subsequent releases.

Support for JSF2 and JSF2 Artifacts and Annotations

One of the main goals of Ext-Scripting was to provide JSF2 support out of the box. Most new JSF2 artifacts are supported. Ext-Scripting even adds scriptability to the new annotation syntax of JSF2 by allowing annotations to be used in a dynamic manner!

Support for MyFaces

Extensions scripting supports MyFaces only for now. Following versions are supported.

  • 1.2.8+ (note support will be dropped soon post 1.0.2)
  • 2.0+

Older versions are not supported due to missing plugin mechanisms which allow Ext-Scripting to work.

The JSF RI and Mojarra as time of writing are not supported due to missing framework hooks needed, but Mojarra supports Groovy out of the box within the core engine. So for the time being only MyFaces can be used. Also Portlets for 1.0.x are not supported, this limitation will be eliminated in future versions. Support for Mojarra maybe will come post 1.0.x.