java - 从 Java 树创建 html 嵌套列表

标签 java html jsp recursion jstl

我正在开发一个学校项目,它是一个销售点系统。它面向餐厅。 “经理”可以创建一个菜单,其中包含任意多个嵌套深度的类别,并且最终类别将包含项目。我已经用 java 创建了这个类别树。它本质上与计算机的目录相同。我计划当他们想要查看菜单时从数据库填充树。它是一个 Web 应用程序,所以我需要将这棵树表示为 html 嵌套列表。我一直在使用 JSP/JSTL 从数据对象构建页面,因此我希望在构建树后将树传递给 JSP,然后以某种方式遍历它并插入正确的 html,甚至在 Java 中编写代码来编写巨大的 html 字符串并提供它。

我很难理解这个问题,因为我对 jsp/jSTL 很陌生,并且正在寻找有关最佳方法的建议。

最佳答案

如果您不知道信息嵌套的深度,可以使用递归。

定义一个名为node.jsp的jsp页面,它将被递归调用:

<li>
   ${node.value}
   <c:if test="${fn:length(node.children) gt 0}">
      <ul>
         <c:forEach var="node" items="${node.children}">
           <c:set var="node" value="${node}" scope="request" />
           <jsp:include page="node.jsp" />
         </c:forEach>
      </ul>
   </c:if>
</li>

在主页中,您只需使用树的根初始化节点,并包含 node.jsp

关于java - 从 Java 树创建 html 嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14969922/

相关文章:

java - struts Action 映射 Action 输入属性

java - 不同字符串的 UUID 相同

java - 访问返回到其 API 的对象上的实现特定方法

java - 从jsp页面调用Java方法

JSP 显示 https 后的源代码

javascript - 重定向到同一页面,但其中有一条消息

Java String - 包含被 'offset' 隐藏的部分

html - 为什么我的幻灯片不在页面中央?

javascript - 将自定义下一张幻灯片按钮添加到 Unslider 脚本

javascript - RSS 提要响应不是原始 XML 格式