As you’ve seen, JSF components are
implemented as regular Java classes
class, and can be instantiated and manipulated programmatically. The
JSF component actions you use in the JSP pages create instances of
these classes and configure them based on the custom action
attributes, as discussed in Chapter 13 and 14.
If you come from a standalone GUI development background, working
directly with instances of component classes may feel more familiar
than messing around with special elements in a JSP page. The first
ViewHandler we look at supports this
development model with JSF views implemented as regular Java classes,
similar to the classes used for a Java Swing interface.