[ samilen @ 16.09.2010. 22:23 ] @
Može li se u tapestry5 <t:select> komponenti, ako koristim svoj Enum kao model, nekako postaviti da je po defaultu izbrana neka konkretna opcija(koja nije prva) na jednostavn način?
[ mefistofel @ 01.12.2010. 12:06 ] @
Moze i to na vrlo jednsotavan nacin. Svaka tapestryeva komponenta mora da ima t:value koju vezes za neku vrednost iz samoga koda, tj java klase te iste strane i ta vrednost za koju vezes ce cuvati vrednost koju si odabrao. Dakle ako imas neki t:select koji ima t:value="book" onda ces u java klase te strane imati private Book book, pri cemo je klasa Book u stvari enum i kada se odabere nesto iz toga t:select to sto si odabrao ce biti sacuvano u onoj promenljivoj koju si svatio u t:value u nasem slucaju value je book.

E sada ako zelis da imas neku default vrednost koja nije prva sve sto treba da uradis jeste da stavis neku verdnost u tu promenlju recimo

private Book book = Book.MY_BOOK;

i onda ce ta promenljiva biti odabrana automatski. E postoji mozda opasnost da ti compiler nece da ti da to uradis na taj nacin (da definises vrednst prilikom samoga definisanja) u tom slucaju samo stavi u metodu setupRender (koja se poziva uvek prilikom inicijalizacije strane) inicijalizaicju svoje default vrednosti za book promenljivu