JavaServer Faces migration

In WebSphere® Application Server version 8 and later, the default JavaServer Faces (JSF) implementation changed to MyFaces.

Choosing the correct JSF implementation

After you update to WebSphere Application Server version 9, the initial state for all applications is the MyFaces 2.2 JSF implementation. See Configuring for JavaServer Faces 2.2 if you want to choose a third-party configuration.

IBM JavaServer Faces widget library

You must update widget library to version 3.1.6 or higher to enable compatibility with the changes in the JSF 2.0 implementation. Obtain a compatible version of JWL by upgrading IBM® Rational® Application Developer for WebSphere to 7.5.5.2 or later, or installing IBM Rational Application Developer for WebSphere V8.0 and later.

Attention: JWL is deprecated and does not work with facelets-based JSF pages; it works with JSF pages that are built by using the JavaServer Pages (JSP) technology.

JSF 2.0 exception handling

The default behavior for JSF when unexpected exceptions occur during JSF lifecycle processing changed. Before JSF 2.0, unexpected exceptions during lifecycle processing were hidden by the runtime environment. This behavior changed with JSF 2.0. Exceptions are published to the ExceptionHandler API, as described in section 6.2 of the JSF 2.0 specification.

Add the following code snippet in the <factory> section of the faces-config.xml file to any applications that have a requirement on the previously-defined behavior:
<exception-handlerfactory>
	 javax.faces.webapp.PreJsf2ExceptionHandlerFactory
</exception-handlerfactory>