Download
FAQ History |
API
Search Feedback |
Registering Listeners on Components
A page author can register a listener implementation class on a component by nesting either a
valuechangeListener
tag or anactionListener
tag within the component's tag on the page.An application developer can instead implement these listeners as backing bean methods. To reference these methods, a page author uses the component tag's
valueChangeListener
andactionListener
attributes, as described in Referencing a Method That Handles an ActionEvent and Referencing a Method That Handles a ValueChangeEvent.The Duke's Bookstore application includes a
ValueChangeListener
implementation class but does not use anActionListener
implementation class. This section explains how to register theNameChange
ValueChangeListener
and a hypotheticalLocaleChange
ActionListener
implementation on components. Implementing Value-Change Listeners explains how to implementNameChange
. Implementing Action Listeners explains how to implement the hypotheticalLocaleChange
.Registering a ValueChangeListener on a Component
A page author can register a
ValueChangeListener
on aUIInput
component or a component represented by one of the subclasses ofUIInput
by nesting avaluechangeListener
tag within the component's tag on the page. Here is the tag corresponding to thename
component from thebookcashier.jsp
page:<h:inputText id="name" size="50" value="#{cashier.name}" required="true"> <f:valueChangeListener type="listeners.NameChanged" /> </h:inputText>The
type
attribute of thevalueChangeListener
tag specifies the fully qualified class name of theValueChangeListener
implementation.After this component tag is processed and local values have been validated, the component instance represented by this tag will automatically queue the
ValueChangeEvent
associated with the specifiedValueChangeListener
to the component.Registering an ActionListener on a Component
A page author can register an
ActionListener
on aUICommand
component by nesting anactionListener
tag within the component's tag on the page. Duke's Bookstore does not use anyActionListener
implementations. Here is one of thecommandLink
tags on thechooselocale.jsp
page, changed to reference anActionListener
implementation rather than a backing bean method:<h:commandLink id="NAmerica" action="bookstore"> <f:actionListener type="listeners.LocaleChange" /> </h:commandLink>The
type
attribute of theactionListener
tag specifies the fully qualified class name of theActionListener
implementation.When the component associated with this tag is activated, the component's
decode
method (or its associatedRenderer
) automatically queues theActionEvent
associated with the specifiedActionListener
to the component.
Download
FAQ History |
API
Search Feedback |
All of the material in The J2EE(TM) 1.4 Tutorial is copyright-protected and may not be published in other works without express written permission from Sun Microsystems.