Dans une table, représentez les lignes de deux lists d'artionnaires différentes l'une en dessous de l'autre en fonction de la valeur de la colonne dans java en utilisant jsp et jstl

J'ai deux methods qui me donne deux arraylist qui contient la valeur de resultset donnée par deux requêtes sql différentes. L'arraylsit a le même nombre de colonnes et a le même nom de colonne, mais avec un nombre différent de lignes.

Maintenant, je veux représenter la ligne récupérée d'une list de choix sous une autre si beam_current d'une list est égal à beam_current d'une autre list, où beam_current est le nom de colonne des deux resulset. Je veux le faire en jsp en utilisant jstl.

Mon code de page jsp représente actuellement des lignes d'un arraylsit et ensuite des lignes d'un autre arraylsit. Le code pour cela est-

<table width = "300px" border = "1" cellspacing="2"> <tr> <th>beam_current</th> <th>beam_energy</th> <th>st2_vs2_bag1_rb</th> <th>st2_vs2_bag2_rb</th> <th>st2_vs2_bag3_rb</th> <th>st2_vs2_bag4_rb</th> <th>st2_vs2_bag5_rb</th> <th>st2_vs2_bag6_rb</th> <th>st2_vs2_bag7_rb</th> <th>st2_vs2_bag8_rb</th> <th>st2_vs2_bag9_rb</th> </tr> <c:forEach var="row" items="${ref.refarray_vac1(param.datepicker)}"> <tr> <td><c:out value="${row.beam_current}"></c:out></td> <td><c:out value="${row.beam_energy}"></c:out></td> <td><c:out value="${row.st2_vs2_bag1_rb}"></c:out></td> <td><c:out value="${row.st2_vs2_bag2_rb}"></c:out></td> <td><c:out value="${row.st2_vs2_bag3_rb}"></c:out></td> <td><c:out value="${row.st2_vs2_bag4_rb}"></c:out></td> <td><c:out value="${row.st2_vs2_bag5_rb}"></c:out></td> <td><c:out value="${row.st2_vs2_bag6_rb}"></c:out></td> <td><c:out value="${row.st2_vs2_bag7_rb}"></c:out></td> <td><c:out value="${row.st2_vs2_bag8_rb}"></c:out></td> <td><c:out value="${row.st2_vs2_bag9_rb}"></c:out></td> </tr> </c:forEach> <c:forEach var="r" items="${ref.refernece(param.ref_logtime)}"> <tr> <td><c:out value="${r.beam_current}"></c:out></td> <td><c:out value="${r.beam_energy}"></c:out></td> <td><c:out value="${r.st2_vs2_bag1_rb}"></c:out></td> <td><c:out value="${r.st2_vs2_bag2_rb}"></c:out></td> <td><c:out value="${r.st2_vs2_bag3_rb}"></c:out></td> <td><c:out value="${r.st2_vs2_bag4_rb}"></c:out></td> <td><c:out value="${r.st2_vs2_bag5_rb}"></c:out></td> <td><c:out value="${r.st2_vs2_bag6_rb}"></c:out></td> <td><c:out value="${r.st2_vs2_bag7_rb}"></c:out></td> <td><c:out value="${r.st2_vs2_bag8_rb}"></c:out></td> <td><c:out value="${r.st2_vs2_bag9_rb}"></c:out></td> </tr> </c:forEach> </table> 

Je sais que je dois utiliser et tags de jstl pour faire comaprision de beam_current. Mais comment l'implémenter dans ma page jsp ??

MODIFIER-

J'ai essayé en utilisant tag de telle manière …

 <c:forEach var="row" items="${ref.refarray_vac1(param.datepicker)}"> <c:forEach var="r" items="${ref.refernece(param.ref_logtime)}"> <c:if test="${r.beam_current eq row.beam_current}"> <tr> <td><c:out value="${row.beam_current}"></c:out></td> <td><c:out value="${row.beam_energy}"></c:out></td> <td><c:out value="${row.st2_vs2_bag1_rb}"></c:out></td> <td><c:out value="${row.st2_vs2_bag2_rb}"></c:out></td> <td><c:out value="${row.st2_vs2_bag3_rb}"></c:out></td> ---------------------------------- </tr> <tr> <td><c:out value="${r.beam_current}"></c:out></td> <td><c:out value="${r.beam_energy}"></c:out></td> <td><c:out value="${r.st2_vs2_bag1_rb}"></c:out></td> <td><c:out value="${r.st2_vs2_bag2_rb}"></c:out></td> <td><c:out value="${r.st2_vs2_bag3_rb}"></c:out></td> </tr> </c:if> </c:forEach> </c:forEach> 

Mais maintenant le problème est que quand jamais si la condition est satisfaite alors les doubles valeurs sont affichées c'est-à-dire supposent dans row.beam_current 10 lignes sont présentes correspondant à beam_current = 50 et une seule rangée est présente dans r.beam_current correspondant à 50 beam_current, alors 20 les lignes pour 50 beam_current sont affichées. Pourquoi?