# JSF Component Tree

The JSF Component Tree is a design time approximation of the component tree that a view will generate at runtime. The component tree is created by the design time view handler, using the active tag registry for a project and input document (i.e. JSP or XHTML). The component tree is used to better determine characteristics of a view such as what validators and converters are registered on which components.

## Component Tree View

The Component Tree View is an Eclipse view that visualizes the design time component tree. The view is keyed to the active editor and is updated whenever a page is saved or a clean build is requested.

## View Details

The annotated diagram above shows the most important features of the component tree view.

1. The component tree view is tied to the current JSF View. The current JSF View is tied to the active editor. If the active editor has a valid JSF View source page open (i.e. a JSP page), then its component tree will become active in the view. The refresh button can be used to force an update on the the tree. Note that the refresh button will not force an unconditional update of the view if the framework thinks it is in sync. To force an unconditional tree update, either save the page or do a clean build on the project.
2. The left-hand, "master form", shows the component tree as a standard tree. Each node in the tree is a component. Note that tags in your page that do not result in components at runtime will not appear directly in the tree. However, if they have known effects, these will appear. For example, converters and validators will appear in the details form for a component in the decorators tab.
3. The details view on the right side is activated by clicking a component in the left-hand tree. Information about the component are shown in a number of clickable tabs.

JSF Tag Registry