Templates
The real work of rendering widgets is performed by JSP templates. A
widget may be rendered in several different forms called
views. A widget might, for example, have a
default
view and a json
view for
rendering the widget as JSON data rather than HTML. The view that is
actually used in any particular case is determined by the publication
designer, who selects the view
inContent Studio.
Widgets with multiple views must therefore always include a
view
option that allows the designer to make this
selection. The view
field that represents this
option should always be included in the General panel of the widget's
content type definition. There should usually also be a panel to hold
the parameters for each view (see
Content Type).
The core widgets supplied with the Widget Framework currently all have
only one default
view. Despite this, there is
always a view
field in the widget's General panel,
and a corresponding Default panel, to prepare for possible future
expansion.
Templates are stored in a widget's
src/main/webapp/template/widgets/
widget-name/
folder. This folder contains a view
subfolder that
in turn contains one JSP file for each view supported by the widget.
There may also be a helpers folder containing additional JSP files
used by the main view JSPs.
If a widget has no view
field, then a default
view name is set by the controller framework. The default view name
is default
. It is possible to change this default
view name by setting the defaultViewName
property
in the DefaultMapController.properties
file. If
this property is not set then default
is used as
the default view name.