Domanda

Sto implementando un tag albero per uno dei miei progetti di esercitazione, in cui visualizzerei il contenuto di una directory sotto forma di albero (ricorsivamente). Avevo implementato un requisito simile come un tag personalizzato in Java durante i giorni pre-JSP2.0. La gestione di una directory richiede ricorsione (per gestire le sottodirectory)! È possibile codificare questo come file tag e possono essere utilizzati in modo ricorsivo?

È stato utile?

Soluzione

Ecco un esempio di un file tag ricorsivo che visualizza da un nodo tutti i suoi figli in modo ricorsivo (usato per generare un 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>

Questo può essere usato in un normale file JSP come questo:

<div id="treeDiv1">
    <ul>
        <c:forEach var="child" items="${actionBean.rootNode.childs}">
            <template:nodeTree node="${child}"/>
        </c:forEach>
    </ul>
</div>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top