7
我有一个后端服务,它将返回一个Info
对象。这个Info
对象有一个FolderGroup
对象的列表,这些对象又有对象列表FolderGroup
等等。如何在JSP中呈现递归集合
基本上它是代表文件夹和子文件夹。但是在我的JSP页面中,我不知道它到底呈现什么样的深度来迭代。这怎么能用JSTL来处理?
我有一个后端服务,它将返回一个Info
对象。这个Info
对象有一个FolderGroup
对象的列表,这些对象又有对象列表FolderGroup
等等。如何在JSP中呈现递归集合
基本上它是代表文件夹和子文件夹。但是在我的JSP页面中,我不知道它到底呈现什么样的深度来迭代。这怎么能用JSTL来处理?
创建一个包含下面的代码JSP标记文件(WEB-INF/tags/folderGroups.tag
):
<%@ 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}"/>
非常感谢:-)。将在几分钟内尝试完成并更新。 – Sripaul
像魅力一样工作!非常感谢:-) – Sripaul
我不得不将'type'添加到属性中,否则我将它作为String来获取。 即 '<%@ attribute name =“list”type =“MyClass”required =“true”%>' – Hagai