Visualización del árbol en la página JSP

Necesito mostrar el árbol en la página JSP. ¿Cómo puedo hacer eso? Tengo el siguiente objeto:

public class Node {
    private Long id;
    private Long parentId;
    private String name;
    private List<Node> children;

    // Getters & setters

}

preguntado el 09 de enero de 11 a las 10:01

6 Respuestas

Ruede el suyo con la recursividad jsp

In Controller.java

Node root = getTreeRootNode();
request.setAttribute("node", root);

In main.jsp página

<jsp:include page="node.jsp"/>

In node.jsp

<c:forEach var="node" items="${node.children}">
    <!-- TODO: print the node here -->
    <c:set var="node" value="${node}" scope="request"/>
    <jsp:include page="node.jsp"/>
</c:forEach>

Basado en http://web.archive.org/web/20130509135219/http://blog.boyandi.net/2007/11/21/jsp-recursion/

Respondido 02 Feb 17, 06:02

respondido 11 mar '11, 19:03

Proyecto de árbol jsp puedo ayudarte.

Respondido el 09 de enero de 11 a las 13:01

Le recomiendo que utilice una de las bibliotecas de etiquetas disponibles. Por ejemplo:

http://beehive.apache.org/docs/1.0/netui/tagsTree.html

La siguiente discusión también puede ayudar. http://www.jguru.com/faq/view.jsp?EID=46659

Respondido el 09 de enero de 11 a las 13:01

Solo revisa este árbol JSP. Es simple y tiene un mínimo de Java Scripts. Usé plantillas de velocidad y clases de etiquetas JSP.

árbol JSP simple

Respondido 26 Oct 12, 09:10

Recopilación de las otras respuestas. Probado


Recurrencia en etiquetas JSP

Unit.java

public class Unit {
    private String name;
    private HashSet<Unit> units;

    // getters && setters
}

Empleados.java

public class Employees {
    private HashSet<Unit> units;

    // getters && setters
}

Application.java

...
request.setAttribute("employees", employees);
request.getRequestDispatcher("EmployeeList.jsp").forward(request, response);
...

EmployeeList.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
    <head>
        ...
    </head>
    <body>
        ...
        <ul>
            <c:forEach var="unit" items="${employees.getUnits()}">
                <li>
                    <c:set var="unit" value="${unit}" scope="request"/>
                    <jsp:include page="Unit.jsp"/>
                </li>
            </c:forEach>
        </ul>
    </body>
<html>

Unit.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<span>${unit.getName()}</span>
...
<ul>
    <c:forEach var="innerUnit" items="${unit.getUnits()}">
        <li>
            <c:set var="unit" value="${innerUnit}" scope="request"/>
            <jsp:include page="Unit.jsp"/>
        </li>
    </c:forEach>
</ul>

respondido 08 nov., 20:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.