如何在JSP中显示SET的元素

时间:2015-04-20 05:03:45

标签: java jsp

我正在处理遗留系统,该系统跟踪所有过去的考试以及每个考试中涵盖的主题。

例如:

Exam1 1/1/1980
topicID topicName topicRFCode  Description
1         AAA         1         fdfdfgfdgdf
1         AAA         2         cvcvcvcvcv
20        XXX         1         asasasasas
12        MMM         3         klklklkl
12        MMM         1         erererer
12        MMM         2         jkjkjkjkjkjk

如您所见,在1/1/1980考试中涵盖了三个不同的主题。 两个问题与主题AAA有关 一个问题与主题XXX和 三个问题与主题MMM有关。

Java将与所选考试相关的主题列表传递给JSP,然后我尝试分别显示每个主题的描述,我有以下内容

       <c:forEach var="topic" items="${topics}" >
            <c:if test="${topic.topicId == '1'}">
                <c:forEach var="aaa" items="${topics}">
                        <c:if test="${aaa.topicId == '1'}">
                            <p>${aaa.description}</p>
                        </c:if>
                </c:forEach>
            </c:if>
</c:forEach>

问题是:

  • 当前代码有两个for循环,因此对于每个主题,我应该有一个 单独的一对代码,因为我想显示每个代码的所有描述 话题一个接一个。
  • 由于多个for循环,它很慢。
  • 不确定这是否是解决问题的最佳方法。

1 个答案:

答案 0 :(得分:2)

您可以传递Topic的列表地图,而不是传递列表。

Map<String, List<Topic>> // Key as topicID

关于如何迭代Map,您可以通过@BalusC引用此answer