문제
연습 프로젝트 중 하나에 대한 트리 태그를 구현하고 있는데, 여기서 디렉토리의 내용을 트리 형태 (재귀 적으로)로 표시합니다. JSP2.0 일 동안 Java에서 맞춤형 태그와 비슷한 요구 사항을 구현했습니다. 디렉토리를 처리하면 재귀가 필요합니다 (하위 디렉토리를 처리하기 위해)! 이것을 태그 파일로 코딩 할 수 있으며 재귀적인 방식으로 사용할 수 있습니까?
해결책
다음은 노드에서 재귀 적으로 표시되는 재귀 태그 파일의 예입니다 ( 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>
이것은 다음과 같은 일반적인 JSP 파일에서 사용할 수 있습니다.
<div id="treeDiv1">
<ul>
<c:forEach var="child" items="${actionBean.rootNode.childs}">
<template:nodeTree node="${child}"/>
</c:forEach>
</ul>
</div>
제휴하지 않습니다 StackOverflow