There are two basic types of components: those that use an HTML template, and those that don't.
Nearly all of the base components provided with the Tapestry framework don't
use templates. They inherit from the class
AbstractComponent
. Such
components must implement the protected renderComponent()
method.
Components that use templates inherit from a subclass of
AbstractComponent
:
BaseComponent
. They should leave the renderComponent()
method alone.
In some cases, a new component can be written just by combining existing components
(this often involves using inherited bindings). Such a codeless
component will consist of just a specification and an HTML
template and will use the BaseComponent
class without subclassing. This
is even more possible when using helper beans.