recursion - lib - tags jsp
Recursividad de etiqueta JSP (1)
Estoy implementando una etiqueta de árbol para uno de mis proyectos de práctica, donde mostraría el contenido de un directorio en forma de árbol (recursivamente). Implementé un requisito similar como etiqueta personalizada en Java durante los días anteriores a JSP2.0. ¡Manejar un directorio necesita recursión (para manejar los subdirectorios)! ¿Es posible codificar esto como archivos de etiquetas y pueden usarse de manera recursiva?
Aquí hay un ejemplo de un archivo de etiqueta recursivo que muestra desde un nodo todos sus hijos recursivamente (se usa para generar una vista de árbol 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>
Esto se puede usar en un archivo JSP normal como este:
<div id="treeDiv1">
<ul>
<c:forEach var="child" items="${actionBean.rootNode.childs}">
<template:nodeTree node="${child}"/>
</c:forEach>
</ul>
</div>