martedì 24 luglio 2007

I deliri del databinding in JSF

In alcuni contesti JSF ha la brutta abitudine di silenziare alcune eccezioni rendendo molto più difficile la rilevazione dell'errore e la sua correzione.
Oggi mi è capitata una cosa del genere.

Grosso modo avevo un combobox che doveva mostrare una lista di ive, semplice no ? Il binding però l'avevo scritto sbagliato perchè si riferiva a un attributo di tipo stringa. In casi come questi non succede nulla a livello di log non c'è nessun avvertimento, neanche un warning. Ci si accorge che qualcosa non funziona perchè quando si clicca su un bottone, l'action o l'actionListener associato non viene scatenato. L'unico modo per poter leggere l'eccezione è associare al componente (meglio se a tutti i componenti della schermata) un UIMessage; in questo modo l'eccezione viene catturata e stampata a video.

Purtroppo questo piccolo accorgimento è obbligatorio se non si vuole impazzire nel debug !

1 commento:

Joril ha detto...

Per chi non e' incatenato dalle circostanze ad usare JSF, wicket.sf.net :)