Apple WebObjects 3.5 User Manual

Page 83

Advertising
background image

How HTML Pages Are Generated

83

Figure 25. An Object Graph for a Page’s Template

The template is created at runtime when the component is first requested.
The template is part of a larger component definition, which also includes
information that allows instances of this component to share resources.
Instances carry only the instance-variable values that are distinctive to
them; the rest is stored in the component definition. You can, if you wish,
enable caching of component definitions so that the component is parsed
only once during an application’s lifetime. To do so, send the application
object a

setCachingEnabled:

message in its initialization method.

For each request-handling message, WOComponent’s default behavior is
to forward the message to the objects in its template. To do so, it first
retrieves the template from the component definition. The component
definition returns the WOElement object at the root of the object graph.
This root object, in turn, forwards the message to each of its child elements;
if they have any children, these elements send the message to them. Thus,
each element has, if appropriate, an opportunity to extract user data from
the request, to invoke an action in the component, and to append its
HTML representation to the response.

Each HTML element on a template has an element ID to identify it within
the object graph. An element ID is implemented as an extension of the
sender ID in the URL. You can request the current element ID from the
WOContext object.

page
(component)

page template

Advertising