The Basics

At the core, JSF is a Java API built on top of the Servlet API. In addition, it defines JSP custom tag libraries that hide the API layer to make it easy for Page Authors to include JSF components in a JSP page. Figure 6-1 shows both these layers and how JSF applications can be developed on top of either one or both.

JSF layers
Figure 6-1. JSF layers

As you may recall from Chapter 4, a JSP custom tag library is a collection of custom actions, represented by XML elements in a JSP page and implemented as Java tag handler classes. If the term “custom action” sounds unfamiliar, you may be more familiar with the “custom tag” term. To make a long story short, an XML element includes an opening tag, an element body, and a closing tag, but the word “tag” is commonly used to refer to both tags and elements because it’s easier to say and shorter to type. Hence, most people use the term custom tag for what formally should be called a custom action (the functional entity) as well as what formally is a custom action element (its representation in a page). Because I’m a stickler for correct terminology, I try to use the terms custom action and custom action element in this book, but if I slip, be aware that custom action, custom action element, and custom tag can all refer to the same thing.

When you use JSP as the presentation layer technology for JSF, you don’t use the JSF API at all for creating ...

Get JavaServer Faces 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.