Ovde imaš primer jednog od domaćih zadataka koje sam radio na fakultetu:
http://www.mmx.rs/pub/jsf/example.war
Na index.jsp strani imaš primer ispisivanja produkata iz ArrayListe filteredProducts do koje se nalazi referenca u navigationManagedBeanu koji je dodat u session scope. Primetićeš da u NavigationManagedBeanu imaš getter i setter za tableComponent koji vraćaju / primaju objekat tipa UIData. To je referenca na tvoju tabelu koja se setuje u NavigationManagedBeanu prilikom učitavanja index.jsp strane, a poziv settera se vrši pomoću ključne reči binding (pogledati odgovarajući red na index.jsp). Videćeš da za redove na index.jsp strani imaš commandLink koji poziva metodu selectProduct iz NavigationManagedBeana koja izvlači trenutno kliknuti objekat pozivom samo jedne metode - tableComponent.getRowData. :))) Kloniranje vršim zato što ću kasnije menjati neke podatke nad tim objektom, pa da mi se ne bi menjali u originalnoj ArrayListi. Nadam se da si ukapirao na koji način pomoću backing beana možeš izvući objekat iz komponente UIData? Ukoliko nešto nisam dobro objasnio ili ti nije jasno kako funkcioniše, slobodno pitaj.
P.S. U tom zadatku imaš još par zanimljivih fora, na primer kako se prave validatori, na koji način da zabraniš nekome da direktno gađa strane kucajući nazivstrane.jsp umesto nazivstrane.faces...