用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); } } } });
相关文章推荐
- 以树状形式显示指定目录下的文件和文件夹
- 如何将某文件夹下的指定扩展名的所有文件显示出来
- TreeView 显示指定路径下的所有文件和文件夹
- 把图片文件夹中的子文件夹以下拉框的形式展示出来。并且选择不同的文件夹显示出各文件夹中的图片
- symbian 获取指定路径下的文件夹和文件列表
- 递归显示指定文件夹下面的文件
- 用命令行的方式把文件夹中的文件以目录树的方式显示出来
- 使用VC实现读取指定路径下的文件,并显示所有文件的文件名和文件图标
- mac使用技巧之 显示mac下文件或文件夹路径
- 使用递归方式遍历指定磁盘路径下的文件及文件夹
- 递归显示指定文件夹下面的文件
- 批处理 显示指定文件夹下文件的大小和时间
- 在LISTCTRL中显示指定文件夹里的所有文件
- C#项目打开/保存文件夹/指定类型文件,获取路径
- 如何读取某个指定文件夹下所有文件,并筛选出其中的图片文件(jpeg,bmp)展示出来。
- 递归函数,打印指定文件目录下的文件夹和文件名,各子文件夹下也要打印出来
- 枚举指定路径下文件及文件夹复制到指定路径下
- 在磁盘指定路径,创建文件夹及文件
- 为用户的配置文件路径(原来在“Documents and Settings”文件夹的子目录)指定一个不同的文件夹
- asp.net 判断指定路径指定文件夹下是否有图片文件存在