If you want a component on your page to generate a value-change event and you want that event to be handled by a backing bean method, you refer to the method by using the component’s valueChangeListener attribute.
The following example shows how a component references a ValueChangeListener implementation that handles the event when a user enters a name in the name input field:
<h:inputText
id="name"
size="50"
value="#{cashier.name}"
required="true">
<f:valueChangeListener type="listeners.NameChanged" />
</h:inputText>
To refer to this backing bean method, the tag uses the valueChangeListener attribute:
<h:inputText
id="name"
size="50"
value="#{cashier.name}"
required="true"
valueChangeListener="#{cashier.processValueChange}" />
</h:inputText>
The valueChangeListener attribute of this component tag references the processValueChange method of CashierBean by using a method expression. The processValueChange method handles the event of a user entering a name in the input field rendered by this component.