前端代码:
<script>
$(function(){
$('#tree1').tree({
url:'server/displayTree?path=D:/scout/hub/target/hub/WEB-INF/'
});
$('#tree1').tree({
onClick: function(node){
if (node.children==null || node.children==undefined){
var url="server/displayServers?file="+node.id;
$.get(url,{},function(data,textStatus){
$("#p3").val(data);
}
);
}
}
});
});
</script>
<div>
树控件
<ul id="tree1" class="easyui-tree"></ul>
</div>
后端java代码:
@Action("displayTree")
public void displayTree() throws Exception {
String path=request.getParameter("path");
String idAbsolutePath=request.getParameter("id");
if(idAbsolutePath!=null){
path=idAbsolutePath;
}
File dir = new File(path);
if(!dir.exists()){
outJsonResult(new JSONArray());
return ;
}
File[] files = dir.listFiles();
JSONArray paths=new JSONArray();
for(int i=0;i<files.length;i++){
JSONObject file=new JSONObject();
file.put("id", files[i].getAbsolutePath());//此处id为绝对路径,这样以后便于查找这个节点的子节点
file.put("text", files[i].getName());
//当是文件夹的时候需要有这个额外的属性
if(files[i].isDirectory()){
file.put("state", "closed");
}
paths.add(file);
}
outJsonResult(paths);
}
效果展示: