Pergunta

Estou implementando uma tag tree para um dos meus projetos de prática, onde eu iria mostrar o conteúdo de um diretório na forma de uma árvore (de forma recursiva). Eu tinha implementado uma exigência semelhante como uma marca personalizada em Java durante os dias pré-JSP2.0. Manipulação de um diretório necessidades recursão (para lidar com os subdiretórios)! É possível codificar isso como arquivos de marca e podem ser utilizados de uma forma recursiva?

Foi útil?

Solução

Aqui está um exemplo de um arquivo de tag recursiva que apresenta de um nó de tudo é as crianças recursivly (usado para gerar um 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>

Isto pode ser usado em um arquivo JSP regular como esta:

<div id="treeDiv1">
    <ul>
        <c:forEach var="child" items="${actionBean.rootNode.childs}">
            <template:nodeTree node="${child}"/>
        </c:forEach>
    </ul>
</div>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top