在 jsp/jstl 中的一个 table 中显示来自 3 个不同列表的数据

Displaying data from 3 different list in one table in jsp/jstl

我有三个列表。员工,技能组,EmployeeSkillsetsRating。

我希望打印如下 table,其中空格将在该技能组中显示它们的等级。

            EmployeeName1   EmployeeName2   EmployeeName3

技能组 1
技能组 2
技能组 3
技能组 4
技能组 5

现在我可以使用 'Employee' 列表成功地将所有员工姓名打印为第一行。 此外,我还能够使用 'Skillset' 列表成功地将所有技能集打印为第一列。 以下是工作代码

        <table border="1">

        <th>Activities</th>
        <c:forEach var="employee" items="${listEmployee}">
            <th>
                <td>${employee.name}</td>
            </th>
        </c:forEach>
        <c:forEach var="activity" items="${listActivity}" >
            <tr>
                <td>${activity.activityDetails}</td>
            </tr>
        </c:forEach>
    </table>

现在员工的评级来自评级列表,其中还包含来自 EmployeeList 的 EmployeeID 和来自 Skillset List 的 SkillsetID。如何通过匹配员工姓名和技能组合在 table 中打印评级。

这样的事情怎么样:

    <th>Activities</th>
    <c:forEach var="employee" items="${listEmployee}">
        <th>
            <td>${employee.name}</td>
        </th>
    </c:forEach>
    <c:forEach var="activity" items="${listActivity}" >
        <tr>
            <td>${activity.activityDetails}</td>
           <c:forEach var="employee" items="${listEmployee}">
              <c:forEach var="rating" items="${listRating}">
                 <c:if test = "${rating.employee==employee.ratingDetails && rating.activity==activity.activityDetails)">
                      <td>${rating.ratingDetails}</td>
               </c:if>

              </c:forEach>
           </c:forEach>

        </tr>
    </c:forEach>
</table>

对于每个 activity 你循环遍历每个 employee 并且如果你找到那个员工的 ratingratings 列表中的 activity - 你打印它作为列值。

评级列表中的每个员工都必须有一个评级。