在request中设置两个集合,catalogplus是catalog的子集合,根据catalog查询出catalogplus,每次循环catalog只能显示第一行字段,为什么?                                                                      
<select name="" id="select">
<c:forEach items="${catalog}" var="c">
    <c:forEach items="${catalogplus}" var="cap">
    <option value="${c.id }">
    ${c.title}
    </option>
    <c:forEach items="${cap}" var="cata">
    <option value="${cata.id }">
     |-
    ${cata.title }
    </option>
    </c:forEach>
    </c:forEach>
</c:forEach>         
</select>

解决方案 »

  1.   

    <c:forEach items="${catalog}" var="c">     <c:forEach items="${catalogplus}" var="cap"> //items="${c}" 代表子集合
        <option value="${c.id }"> // 集合里面应该放的是对象吧,会有ID属性么?
        ${c.title} //同上
        </option> 
        <c:forEach items="${cap}" var="cata"> 
        <option value="${cata.id }"> 
        |- 
        ${cata.title } 
        </option> 
        </c:forEach> 
        </c:forEach> 
    </c:forEach>     楼主认真分析下