Wie man eine rekursive Sammlung in JSP präsentiert



title tag description tag (1)

Ich habe einen Backend-Service, der mir ein Info Objekt Info . Dieses Info Objekt hat eine Liste von FolderGroup Objekten, die wiederum eine Liste von FolderGroup Objekten usw. enthält.

Grundsätzlich sollen Ordner und Unterordner dargestellt werden. Aber auf meiner JSP-Seite würde ich nicht wissen, bis zu welcher Tiefe es für mich zur Verfügung steht. Wie kann dies mit JSTL gehandhabt werden?


Erstellen Sie eine JSP-Tag-Datei ( WEB-INF/tags/folderGroups.tag ), die den folgenden Code enthält:

<%@ attribute name="list" required="true" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="myTags" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:if test="${!empty list}">
    <ul>
    <c:forEach var="folderGroup" items="${list}">
        <li><c:out value="${folderGroup.name}"/></li>
        <myTags:folderGroups list="${folderGroup.subGroups}"/>
    </c:forEach>
    </ul>
</c:if>

Das Tag ruft sich rekursiv auf, um eine Ordnerstruktur zu generieren.

Und in deiner JSP, mach das

<%@ taglib tagdir="/WEB-INF/tags" prefix="myTags" %>
...
<myTags:folderGroups list="${info.folderGroups}"/>




jstl