题
我正在为我的一个练习项目实现一个树标记,在那里我将以树的形式(递归地)显示目录的内容。在JSP2.0之前的几天里,我已经在Java中实现了类似于Java的自定义标记。 处理目录需要递归(处理子目录)!是否可以将其编码为标记文件,并且可以以递归方式使用它们吗?
解决方案
以下是递归标记文件的示例,该文件从节点显示其所有子项的递归(用于生成 YUI树视图):
/WEB-INF/tags/nodeTree.tag :
<%@tag description="display the whole nodeTree" pageEncoding="UTF-8"%>
<%@attribute name="node" type="com.myapp.Node" required="true" %>
<%@taglib prefix="template" tagdir="/WEB-INF/tags" %>
<li>${node.name}
<c:if test="${fn:length(node.childs) > 0}">
<ul>
<c:forEach var="child" items="${node.childs}">
<template:nodeTree node="${child}"/>
</c:forEach>
</ul>
</c:if>
</li>
这可以在常规JSP文件中使用,如下所示:
<div id="treeDiv1">
<ul>
<c:forEach var="child" items="${actionBean.rootNode.childs}">
<template:nodeTree node="${child}"/>
</c:forEach>
</ul>
</div>
不隶属于 StackOverflow