7

我有一个后端服务返回一个Info对象。该Info对象具有对象列表,FolderGroup对象列表又具有FolderGroup对象列表,依此类推。

基本上它是代表文件夹和子文件夹。但是在我的 JSP 页面中,我不知道要迭代到什么深度。JSTL 如何处理这个问题?

4

1 回答 1

15

创建一个WEB-INF/tags/folderGroups.tag包含以下代码的 JSP 标记文件 ( ):

<%@ 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>

标签以递归方式调用自身以生成文件夹树。

在你的 JSP 里面,做

<%@ taglib tagdir="/WEB-INF/tags" prefix="myTags" %>
...
<myTags:folderGroups list="${info.folderGroups}"/>
于 2013-01-03T10:14:40.557 回答