您的位置:首页 > Web前端 > JavaScript

用extjs将指定路径的文件夹以树的形式显示出来,且文件夹在上文件在下

2014-12-09 20:06 357 查看
后台代码:

<span style="white-space:pre">			</span>String fid = request.getParameter("fid");
if("Root".equals(fid)){
fid = Tools.getFilePath()+"MBXM/ZYDL/";
}
JSONArray array = new JSONArray();
JSONArray array1 = new JSONArray();
JSONArray array2 = new JSONArray();
File file = new File(fid);
//List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
if(file.exists()){
if(file.isDirectory()){
File [] filelist = file.listFiles();
if(filelist!=null&&filelist.length>0){
for (File files : filelist) {
//Map<String, Object> map = new HashMap<String, Object>();
JSONObject obj1 = new JSONObject();
JSONObject obj2 = new JSONObject();
//是否有下一级
obj1.put("fid",files.getAbsolutePath());
obj1.put("text", files.getName());
obj2.put("fid",files.getAbsolutePath());
obj2.put("text", files.getName());
if(files.list() !=null && files.list().length >=0){
obj1.put("leaf", false);
array1.add(obj1);
}else {
obj2.put("leaf", true);
array2.add(obj2);
}
}
}
}
}

for(int i=0;i<array1.size();i++){
array.add(array1.get(i));
}
for(int i=0;i<array2.size();i++){
array.add(array2.get(i));
}
msg = array.toString();


前台页面:

var left_fs = new Ext.tree.TreePanel({
//height : 100,
id:'menuTree',
height : 440,
columnWidth : 0.5,
useArrows : true,
animate : true,
autoScroll:true,
//enableDD : false,
root :new Ext.tree.AsyncTreeNode({
fid : 'Root',
text:'选择个性化页面(单击刷新)',
expanded : true,
draggable : false,
listeners:{
click:function(node){
node.reload();
}
}
}),
loader : new Ext.tree.TreeLoader({
dataUrl:basePath+'servlet/back/CZZDglS?type=cxZYDLTree&KHID='+KHID+'&check=false',
listeners : {
beforeload : function(TreeLoader, node) {
var fid = node.attributes.fid;
this.baseParams.fid = fid;
}
}
}),
listeners : {
click : function(node){
if(node.isLeaf()){
var GXHYMLJ = node.attributes.fid;
//var start = 'D:/ITAPWH/files/MBXM/ZYDL/';
var start = filePath +'MBXM/ZYDL/';
GXHYMLJ = GXHYMLJ.substring(start.length-1,GXHYMLJ.length);
var array = GXHYMLJ.split('\\');
var GXHYMLJ_new ='';
for(var i=0;i<array.length;i++){
GXHYMLJ_new = GXHYMLJ_new + array[i];
GXHYMLJ_new = GXHYMLJ_new + '/';
}
GXHYMLJ_new = GXHYMLJ_new.substring(0,GXHYMLJ_new.length-1);

var Plant = gxhym_store.recordType;
var p = new Plant({
YMLJ: GXHYMLJ_new
});

var data=gxhym_store.data;
var array = [];
var all_ymlj ='';

var flag = false;
if (data.length > 0) {
for (var i = 0; i < data.length; i++) {
var rec = data.get(i);
var YMLJ = rec.get('YMLJ');
if(YMLJ !=undefined){
all_ymlj = all_ymlj + "," + "'"  + YMLJ + "'";

}
if(all_ymlj.indexOf("'" + GXHYMLJ_new + "'") != -1){
flag = true;
}
}
}
if(flag){
Ext.Msg.show({
title : '提示',
msg : "页面路径[" + GXHYMLJ_new + "]重复,请重新选择",
buttons : {
"ok" : "确定"
},
icon : Ext.MessageBox.INFO
});
return;
}
gxhym_store.insert(gxhym_store.data.length-1, p);

}
}

}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: