[ mar8 @ 16.06.2010. 10:25 ] @
U beanu mi se nalazi vektor koji sadrzi odredjen broj objekata. Svaki od tih objekata sadrzi polje za tekst i naslov. Za vektor u beanu postoje get i set metodi.

Kako da sa jsf strane procitam sadrzaj tog vektora - dakle sve naslove i sav tekst. Znam da je potrebno to da uradim pomocu jstl-a, ali ne znam kako.
Ako je lakse, ovaj vektor bi mogao i da pretvorim u dvodimenzionalni niz.

Ima li ko kakvu ideju?
[ milos72 @ 17.06.2010. 09:16 ] @
Mozda probaj nesto ovako:

<c:foreach values="${beanVector.vectorObjekata}" var="objekat">
<c:out value="${objekat.naslov}" />
<c:out value="${objekat.tekst}" />
</c:foreach>

Ako sam dobro razumeo imas:
class BeanVector{
Vector<Objekat> vectorObjekata;
// get set metode za ovaj atribut vektora objekta
}
class Objekat{
tip naslov;
tip tekst;
// get set metode za po oba atributa
}

Prethodno moras da BeanVector klasu stavis na request sa request.setAttribute("beanVector", BeanVectorObjekat)
i onda redirektujes na stranicu gde se nalazi jstl kod.
[ MMX @ 19.06.2010. 10:04 ] @
Možeš da uradiš kao što je Miloš napisao, ali, po meni dosta elegantnije rešenje je da koristiš dataTable komponentu iz JSF-a. Zašto koristiš klasu Vector za listu objekata a ne ArrayList ili Vector? Da li ima neki poseban razlog za to?

Ukoliko nisu specifični zahtevi da se koristi Vector, mogao bi da iskoristiš JSF-ovu komponentu dataTable kojoj bi kao argument prosledio ArrayList-u ili List-u objekata koji se nalaze u jednom od scopeova (session, application ili request). Lepota korišćenja komponente je što ti pomoću backing beanova omogućava da na jednostavan način "iščupaš" gotove objekte iz reda na koji se kliknulo, pozivom samo jedne metode. Naravno, ne moraš to da radiš ako ti nije potrebno. Tabela može da služi samo za ispis objekata iz liste. Ukoliko ti odgovara ovo rešenje, mogu da postavim primer koda.
[ mar8 @ 19.06.2010. 11:01 ] @
Hvala na predlozima Milose i MMX. U medjuvremenu od pisanja prvog posta sam našao dataTable i savršeno mi obavlja posao.
Vektor sam naveo samo kao primer - inače i koristim ArrayList.

MMX ajde ako ti nije problem postavi te primere koda - možda naučim još neku foru
[ MMX @ 19.06.2010. 19:02 ] @
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...
[ mar8 @ 20.06.2010. 11:00 ] @
Hvala, baš ću detaljno da proučim ceo primer čim stignem.
Pozdrav. Ako nešto zapne javljam se