JSP中的JSTL循环用于嵌套的未编译列表

 吴燕凤怡雨家琴 发布于 2023-02-09 10:10

MVC - servlet将请求转发给JSP.在servlet中我创建了类别的列表(java.util.List),将此列表附加到servlet上下文,并将请求转发到JSP页面:

public class Category{
       private Integer id;
       private String name;
       private Category parentCategory;
       ...
       //getters and setters
    }

此类表示类别/子类别(如果parentCategory字段为null,则它是顶级类别).具有相同父级的类别是其子类别,并且它们将映射到JSP中的嵌套无序列表.示例:结果应与下一个HTML代码类似:


我不知道如何在JSP中遍历此列表.它可能应该使用不同的JSTL循环或JSP scriptlet的某种组合来完成,也许是一些递归.感谢任何帮助.

1 个回答
  • 如果您不知道类别树的深度,仍然可以使用递归生成菜单.

    在前一个响应中使用与Loc相同的模型,您必须定义一个名为jsp的页面menuitem.jsp,该页面将被递归调用:

    <li>
       <a href="#">${menuitem.name}</a>
       <c:if test="${fn:length(menuitem.subCategories) gt 0}">
          <ul class="droprightMenu">
             <c:forEach var="menuitem" items="${menuitem.subCategories}">
               <c:set var="menuitem" value="${menuitem}" scope="request" />
               <jsp:include page="menuitem.jsp" />
             </c:forEach>
          </ul>
       </c:if>
    </li>
    

    在我们的主JSP页面中,初始化变量menuitem并包含jsp.

    <c:set var="menuitem" value="${rootMenu}" scope="request" />
    <jsp:include page="menuitem.jsp" />
    

    2023-02-09 10:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有