我得到的map对象Map<Map<Studentclass,Teacher>, Map<Date,Date>>。保存在request中为stamap,采用的jstl遍历:
<c:forEach items="${stmap}" var="map">
${map.key}<br>
${map.value}
</c:forEach>
结果却出现重复记录(只看效果):
com.china.guidepost.entity.Studentclass@f128f674=com.china.guidepost.entity.Teacher@c5cd1a, com.china.guidepost.entity.Studentclass@c8cbd56a=com.china.guidepost.entity.Teacher@1d9e55b}
{2010-06-10 00:00:00.0=2010-06-29 00:00:00.0, 2010-05-05 00:00:00.0=2010-07-25 00:00:00.0} {com.china.guidepost.entity.Studentclass@f128f674=com.china.guidepost.entity.Teacher@c5cd1a, com.china.guidepost.entity.Studentclass@c8cbd56a=com.china.guidepost.entity.Teacher@1d9e55b}
{2010-06-10 00:00:00.0=2010-06-29 00:00:00.0, 2010-05-05 00:00:00.0=2010-07-25 00:00:00.0} 
这是为什么呢?当map中各保存一条记录的时候就好,两条记录的时候就出现重复记录,高手指点

解决方案 »

  1.   

    估计你的map保存的时候有问题。自然出来就是重复的了
      

  2.   

    我查看了两个map的大小都是一样的大小,所以不会出现错误的!我也判断了逻辑没有问题
      

  3.   

    那你保存时候map打印出来看看啊,jstl语法就这样,也不会有问题
      

  4.   

    equals方法返回false,但是内容一样。导致你的key重复了?
      

  5.   

    <c:forEach items="${stmap}" var="map">
    ${map.key}<br>
    ${map.value}
    </c:forEach>你循环了 能不出现重复吗
      

  6.   

    你不应该循环MAP  你只是循环MAP的KEY值而已