Non fate caso ai nomi di metodi e variabili, per farvi capire la logica ho portato l'esempio dell'alfabeto e dei nomi.
codice:


//dentro un bean faccio la query e riempio un'array che poi passo alla pagina con getListaRecord()

//qui creo il primo iterator e la prima list che mi stampa l'alfabeto
Iterator itr3;
List data2 = Login.getListaRecord(); //

//qui ciclo  il primo iterator che mi stampa a video l'alfabeto

for (itr3=data2.iterator(); itr3.hasNext(); )
     {   
// qui passo al bean il valore che deve essere utilizzato per fare la seconda query, quindi 
ad esempio gli passo la lettera A per prendere tutti i nomi con la A (facendo il cast che vi 
risparmio). I dati vengono passati correttamente, perchè quando stampo a video la seconda
 query vedo che è corretta.
%><jsp:setProperty name="Login" property="sezioneidselezionata" value="<%=itr3.next()%>"/><%



///dentro il bean faccio la seconda query e riempio un'array che poi passo alla pagina
 con getListaMuscoli()

      //qui creo il secondo iterator e la seconda list che dovrebbe stamparmi i nomi 
di ogni singola lettera dell'alfabeto
      Iterator itrMuscoli;
      List dataMuscoli = Login.getListaMuscoli();     

     // qui ciclo  il secondo iterator che mi stampa a video i nomi in maniera sbagliata
      for (itrMuscoli=dataMuscoli.iterator();itrMuscoli.hasNext()
			{
                        %><%=itrMuscoli.next()%><%
                        }
      }