9
我正在爲我的一個練習項目實現樹標記,在那裏我會以樹的形式(遞歸地)顯示目錄的內容。在JSP2.0以前的版本中,我已經實現了與Java中的自定義標籤類似的要求。 處理目錄需要遞歸(處理子目錄)!是否有可能將此代碼編碼爲標記文件,並且可以以遞歸方式使用它們?JSP標記遞歸
我正在爲我的一個練習項目實現樹標記,在那裏我會以樹的形式(遞歸地)顯示目錄的內容。在JSP2.0以前的版本中,我已經實現了與Java中的自定義標籤類似的要求。 處理目錄需要遞歸(處理子目錄)!是否有可能將此代碼編碼爲標記文件,並且可以以遞歸方式使用它們?JSP標記遞歸
下面是從節點顯示一個遞歸標籤文件的一個示例的所有它的兒童recursivly(用於生成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>
包括標籤本身的taglib的技巧適用於標籤的文件,但我無法在標籤處理程序類中使用它。相關問題:http://stackoverflow.com/questions/2326981/jsp-custom-taglib-nested-evaluation – David 2014-12-01 17:53:19