Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Greenpeace
Introduzione al framework JSF (11/14)
Scritto da Dario Guadagno il 07-11-2008 ore 09:43
Intel Cluster Studio XE
Dopo aver presentato i Custom Converter, passiamo all'analisi degli Event listener. Come visto in precedenza, l’implementazione JSF permette di gestire due tipologie di eventi, che si possono verificare sui componenti della UI:
  • action event;
  • value-change event.
Tale gestione, può essere eseguita in due modi diversi:
  • realizzando una classe listener, che implementi l’interfaccia ActionListener oppure ValueChangeListener;
  • realizzando, all’interno di un certo backing bean, un metodo che sia capace di gestire l’evento.
Passiamo ora alla descrizione dell'implementazione di un ActionListener/ValueChangeListener. Per poter gestire un action event, che può essere sollevato da un componente, è possibile sviluppare una classe che implementi l’interfaccia ActionListener. All’interno di essa sarà eseguito l’overriding del metodo processAction(), il quale prevede, come parametro di ingresso, un oggetto di tipo ActionEvent con tutte le informazioni sull’evento e sul componente che l’ha generato.

Nel processAction() sarà necessario scrivere il codice per la gestione dell’evento, in quanto il metodo sarà immediatamente invocato nel momento in cui l’evento sarà intercettato. Una volta realizzata la classe, essa sarà associata ad un componente utilizzando il tag < f:actionListener >.

Per poter gestire un value-change event, la logica non cambia, in quanto è possibile realizzare una classe che implementi l’interfaccia ValueChangeListener; lo sviluppatore deve semplicemente eseguire l’overriding del metodo processValueChange(), il quale ha un parametro di ingresso di tipo ValueChangeEvent con le informazioni sull’evento che si è verificato.

Per registrare la classe listener sul componente si utilizza il tag < f:valueChangeListener > della Core Library di JSF. Una possibile strada alternativa alla realizzazione delle classi listener è lo sviluppo di alcuni metodi all’interno dei backing bean, che abbiano la capacità di gestire gli eventi (Backing Bean Method Listener).

Nel caso in cui bisogna gestire un action event è possibile realizzare un metodo che non ha parametri di uscita e ha come unico parametro di ingresso un oggetto di tipo ActionEvent con le informazioni dell’evento intercettato. Tale metodo potrà essere associato al componente utilizzando l’attributo actionListener del tag, che rappresenta il componente stesso all’interno di una pagina.
  1. <span style="font-size:1.0em">< h:commandLink actionListener="#{backingBean.metodoListener}"/ ></span>

In presenza di un value-change event, invece, bisogna realizzare un metodo che abbia come parametro di ingresso un oggetto del tipo ValueChangeEvent, associato al componente mediante l’attributo valueChangeListener del medesimo tag.
  1. <span style="font-size:1.0em">< h:inputText valueChangeListener="#{backingBean.metodoListener}"/ ></span>
Precedente: Nuovi tutorial sui prodotti Adobe: Illustrator (2/3)
Successiva: Tutto su PHP: ambiente di sviluppo (2/6)
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.489 secondi.