Explicit loading of jsf.js

The AJAX mechanism used by JSF is encapsulated in a JavaScript file, named jsf.js. This file is available in the javax.faces library. When we are using <f:ajax>, this file is loaded behind the scene without any explicit requirements.

However, jsf.js can be loaded explicitly with any of the following methods:

  • Using the <h:outputScript> component as follows:
    <h:outputScript name="jsf.js" library="javax.faces" target="head"/>
  • Using the @ResourceDependency keyword as follows:
    @ResourceDependency(name="jsf.js" library="javax.faces" target="head")

Focusing on <h:outputScript>, you can attach AJAX to a component as shown in the following example code:

<h:form prependId="false">             
  <h:outputScript name="jsf.js" library
="javax.faces" ...

Get Mastering JavaServer Faces 2.2 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.