9
我正在为我的一个练习项目实现树标记,在那里我会以树的形式(递归地)显示目录的内容。在JSP2.0以前的版本中,我已经实现了与Java中的自定义标签类似的要求。 处理目录需要递归(处理子目录)!是否有可能将此代码编码为标记文件,并且可以以递归方式使用它们?JSP标记递归
我正在为我的一个练习项目实现树标记,在那里我会以树的形式(递归地)显示目录的内容。在JSP2.0以前的版本中,我已经实现了与Java中的自定义标签类似的要求。 处理目录需要递归(处理子目录)!是否有可能将此代码编码为标记文件,并且可以以递归方式使用它们?JSP标记递归
下面是从节点显示一个递归标签文件的一个示例的所有它的儿童recursivly(用于生成YUI treeview):
/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>
包括标签本身的taglib的技巧适用于标签的文件,但我无法在标签处理程序类中使用它。相关问题:http://stackoverflow.com/questions/2326981/jsp-custom-taglib-nested-evaluation – David 2014-12-01 17:53:19