Tomáš Turek wrote:
> Dobrý den,
> 
> mám následující problém. Potřebuji na JSP stránce procházet kolekci objektů 
> získaných z parametru a pro každý objekt zavolat JavaSciptovskou funkci. 
> Nevím si s tímto problémem rady, tak doufám, že mi někdo poradí. Napadlo mě 
> akorát, jestli by se tato kolekce nedala procházet přímo pomcí JavaScriptu, 
> ale nevím jestli je to možné a jak na to. 
> 
> Děkuji za radu

Zkuste si to nejdriv ujasnit, pak bude reseni zrejme.

Z parametru urcite neziskavate kolekci objektu,
protoze z parametru se da ziskat leda retezec nebo
pole retezcu, ne kolekce objektu. Takze bud tu kolekci
ziskavate odjinud, napriklad z atributu, nebo
mate pole retezcu. V obou pripadech muzete pouzit
JSTL znacku <c:forEach> pro vypis nejakych retezcu
v cyklu, jen musite vedet jakych. Pokud  mate pole retezcu,
proste je vypisete. Pokud mate opravdu pole objektu,
tak do stranky muzete vypsat jenom retezce, a musite se rozhodnout,
jak objekty reprezentovat.

Co se tyka JavaScriptu, ten se provadi na v prohlizeci, kdezto
JSP se provadi na serveru. Cili musite do stranky vygenerovat
JavaScriptovy zdrojak, ktery se pak na klientovi provede.

Predpokladejme tedy, ze v parametru "aaa" mate pole retezcu,
a chcete pro kazdy zavolat JavaScriptovou funkci "funkce()".
Pak to muzete udelat takto:

<script language="javascript">
 //JavaScriptova funkce
 function funkce(retezec) {
   alert(retezec);
 }
//JSTL znacka pro cyklus
<c:forEach var="i" items="${paramValues['aaa']}">
 //generovani volani funkce
 funkce('<c:out value="${i}" />');

</c:forEach>
</script>

Takze pokud bude URL zavolano treba s moje.jsp?aaa=Franta&aaa=Pepa&aaa=Lojza
tak to do stranky vygeneruje:

<script language="javascript">
 //JavaScriptova funkce
 function funkce(retezec) {
   alert(retezec);
 }
//JSTL znacka pro cyklus
 funkce('Franta');
 funkce('Pepa');
 funkce('Lojza');
</script>

a funkce se zavola trikrat behem nacitani stranky. Pokud ji potrebujete zavolat
az pozdeji, dejte volani do tela funkce, kterou zavolate z <body onLoad="">.


Makub
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno             Martin Kuba
Institute of Computer Science    email: [EMAIL PROTECTED]
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------

Odpovedet emailem