Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

JSF, bean i vector

[es] :: Java :: JSF, bean i vector

[ Pregleda: 2101 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mar8

Član broj: 240491
Poruke: 32
*.ptt.rs.



Profil

icon JSF, bean i vector16.06.2010. u 10:25 - pre 167 meseci
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?
 
Odgovor na temu

milos72
Miloš Milošević
nezaposlen
Beograd

Član broj: 133769
Poruke: 9
*.kbcnet.rs.

ICQ: 595912947
Sajt: f1-preview.runhosting.com..


Profil

icon Re: JSF, bean i vector17.06.2010. u 09:16 - pre 167 meseci
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.
 
Odgovor na temu

MMX
Miloš Malović
Platform engineer, Supplyframe
Beograd

SuperModerator
Član broj: 2423
Poruke: 2105
188.120.96.*

Jabber: mmx@elitesecurity.org
ICQ: 98797759
Sajt: www.mmx.rs


+11 Profil

icon Re: JSF, bean i vector19.06.2010. u 10:04 - pre 167 meseci
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.
↑ ↑ ↓ ↓ ← → ← → B A B A [select] [start]
 
Odgovor na temu

mar8

Član broj: 240491
Poruke: 32
*.ptt.rs.



Profil

icon Re: JSF, bean i vector19.06.2010. u 11:01 - pre 167 meseci
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
 
Odgovor na temu

MMX
Miloš Malović
Platform engineer, Supplyframe
Beograd

SuperModerator
Član broj: 2423
Poruke: 2105
188.120.96.*

Jabber: mmx@elitesecurity.org
ICQ: 98797759
Sajt: www.mmx.rs


+11 Profil

icon Re: JSF, bean i vector19.06.2010. u 19:02 - pre 167 meseci
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...
↑ ↑ ↓ ↓ ← → ← → B A B A [select] [start]
 
Odgovor na temu

mar8

Član broj: 240491
Poruke: 32
*.ptt.rs.



Profil

icon Re: JSF, bean i vector20.06.2010. u 11:00 - pre 167 meseci
Hvala, baš ću detaljno da proučim ceo primer čim stignem.
Pozdrav. Ako nešto zapne javljam se
 
Odgovor na temu

[es] :: Java :: JSF, bean i vector

[ Pregleda: 2101 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.