Tomas Hubalek napsal(a):
Ono je vubec otazka, proc to prochazeni je ve vieweru a ne v controlleru.
Spravne byste mel mit servlet, kde provedete tyto "vypocty" a do vieweru 
poslete jen vysledek na zobrazeni.

V JSP se casto pouziva na prochazeni <c:forEach .../>

Mit v JSP strance scriptlety, to uz chce opravdu dobry duvod ;-)

Tom

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Jakub Příkazský
Sent: Thursday, October 16, 2008 1:47 PM
To: Java
Subject: JSP procházení kolekce

Dobrý den,

zde je fragment kódu pro procházení kolekce, používá syntaxi for cyklu
od Java 5 (Tomcat určitě používá Java 1.5, viz výpis pomocí parametru
version):
JVM Version:    1.5.0_16-b02
Server number:  5.5.20.0
JVM Vendor:     Sun Microsystems Inc.

String parameters = "";
1. java.util.Map paramMap = request.getParameterMap();
2. if (!paramMap.isEmpty())
3. {
4.    for(Object key : paramMap.keySet())
      {
          parameters =
parameters+"&"+key.toString()+"="+request.getParameter(key.toString());
     }
}

na který dostanu následující chybu:
An error occurred at line: 4 in the jsp file: /index.jsp
Syntax error on token ":", ; expected

Pokud použiji pro procházení Iterátor, tak vše funguje *správně*:
   java.util.Map paramMap = request.getParameterMap();
   if (!paramMap.isEmpty())
   {
      java.util.Iterator iterator = paramMap.keySet().iterator();
      while( iterator.hasNext() )
      {
        Object key = iterator.next();
        parameters =
parameters+"&"+key.toString()+"="+request.getParameter(key.toString());
      }
   }

Nevíte v čem, je problém?

děkuji, Jakub
Děkuji za reakci.

URL přichází již escapované, takže to ošetřovat nemusím. Hned po složené parametru se pošle redirect na určitou adresu a kontroler to řešit nemusí. Asi to není úplně košer způsob a je možné řešit elegantněji také JSTL tagem.
Na svou obhajobu podotýkám, že jsem to nepsal já :-)

děkuji, Jakub

Odpovedet emailem