jsp目录树问题急求解
有一个树模型类:
*/
public class ReportNode {
public final static String FOLER_TYPE="FOLER_TYPE";
public final static String PACKAGE_TYPE="PACKAGE_TYPE";
public final static String REPORT_TYPE="REPORT_TYPE";
private String searchPath ;
private String defaultName ;
private String storeID ;
private String reportURL ;
private String nodeType ;
public String getSearchPath() {
return searchPath;
}
public void setSearchPath(String searchPath) {
this.searchPath = searchPath;
}
public String getDefaultName() {
return defaultName;
}
public void setDefaultName(String defaultName) {
this.defaultName = defaultName;
}
public String getStoreID() {
return storeID;
}
public void setStoreID(String storeID) {
this.storeID = storeID;
}
public String getReportURL() {
return reportURL;
}
public void setReportURL(String reportURL) {
this.reportURL = reportURL;
}
public String getNodeType() {
return nodeType;
}
public void setNodeType(String nodeType) {
this.nodeType = nodeType;
}
public List<ReportNode> getChildNodes() {
return childNodes;
}
public void setChildNodes(List<ReportNode> childNodes) {
this.childNodes = childNodes;
}
private List<ReportNode> childNodes ;
}
测试数据类:
public class Test {
List<ReportNode> list = new ArrayList<ReportNode>() ;
String restr = "";
public void init(){
ReportNode n1 = new ReportNode();
n1.setDefaultName("aa");
n1.setNodeType("f");
ReportNode n2 = new ReportNode();
n2.setDefaultName("bb");
n2.setNodeType("f");
list.add(n1);
list.add(n2);
ReportNode n3 = new ReportNode();
n3.setDefaultName("cc");
n3.setNodeType("f");
List<ReportNode> list2 = new ArrayList<ReportNode>() ;
list2.add(n3);
ReportNode n4 = new ReportNode();
n4.setDefaultName("dd");
n4.setNodeType("r");
List<ReportNode> list3 = new ArrayList<ReportNode>() ;
list3.add(n4);
n2.setChildNodes(list2);
n3.setChildNodes(list3);
}
StringBuffer buff = new StringBuffer();
/**
*
* @param rootList
*/
public void buildString(List<ReportNode> rootList){
String str1="";
if(rootList!=null && !rootList.isEmpty()){
Iterator<ReportNode> it = rootList.iterator();
while(it.hasNext()){
ReportNode node = it.next() ;
System.out.println(node.getDefaultName());
if("f".equals(node.getNodeType())){
str1 = "<ul><li>"+node.getDefaultName()+"<li><ul>";
}else{
str1="<li>"+node.getDefaultName()+"<li>";
}
buff.append(str1);
buildString(node.getChildNodes());
}
}else{
str1=str1+"</ul>";
buff.append(str1);
return ;
}
System.out.println(str1);
return ;
}
public void test(){
init();
buildString(list);
//System.out.println(restr);
}
public static void main(String[] args) {
Test test = new Test();
test.test();
System.out.println(test.buff);
}
}
不知道怎么用递归的方式用ul、li展示目录树
求解答!
[解决办法]
找之间的关系
[解决办法]
建议用jquery ztree 数据用json传递
简单的例子
<link rel="stylesheet"
href="../../../jquery/zTree/css/zTreeStyle/zTreeStyle.css" type="text/css">
<link rel="stylesheet" href="../../../jquery/zTree/css/demo.css"
type="text/css">
<script type="text/javascript" src="../../../jquery/jquery-2.0.2.min.js"></script>
<script type="text/javascript"
src="../../../jquery/zTree/js/jquery.ztree.core-3.5.js"></script>
<SCRIPT type="text/javascript">
var setting = {
data: {
simpleData: {
enable: true
}
}
};
var zNodes =[
{ id:1, pId:0, name:"父节点1 - 展开", open:true},
{ id:11, pId:1, name:"父节点11 - 折叠"},
{ id:111, pId:11, name:"叶子节点111"},
{ id:112, pId:11, name:"叶子节点112"},
{ id:113, pId:11, name:"叶子节点113"},
{ id:114, pId:11, name:"叶子节点114"},
{ id:12, pId:1, name:"父节点12 - 折叠"},
{ id:121, pId:12, name:"叶子节点121"},
{ id:122, pId:12, name:"叶子节点122"},
{ id:123, pId:12, name:"叶子节点123"},
{ id:124, pId:12, name:"叶子节点124"},
{ id:13, pId:1, name:"父节点13 - 没有子节点", isParent:true}
];
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
});
</SCRIPT>
<div class="zTreeDemoBackground left">
<ul id="treeDemo" class="ztree"></ul>
</div>