大佬教程收集整理的这篇文章主要介绍了dojo中Tree的使用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
package com.xuzengqiang.tree.domain; public class DirFile { private String filename; //文件名称,name:filename private String filepath; //文件路径,id:filePath private String parentFilename; //父文件路径: parent:parentFilename public String getFilename() { return filename; } public void setFilename(String fileName) { this.filename = filename; } public String getParentFilename() { return parentFilename; } public void setParentFilename(String parentFileName) { this.parentFilename = parentFilename; } public String getFilepath() { return filepath; } public void setFilepath(String filepath) { this.filepath = filepath; } }LoadAllFiles,用于读取某个文件下的所有文件。 @H_489_0@
package com.xuzengqiang.tree.utils; import java.io.File; import java.util.ArrayList; import java.util.List; import com.xuzengqiang.tree.domain.DirFile; public class LoadAllFiles { //获取某个盘下面的所有目录 public static List<DirFile> getAllFiles(String dir) { List<DirFile> dirFile=new ArrayList<DirFile>(); File parentFile=new File(dir); initFile(parentFile,dirFile ); return dirFile; } public static void initFile(File parentFile,List<DirFile> dirFilE) { File[] subFiles=parentFile.listFiles(); if(subFiles!=null) { for (File subFile : subFiles) { DirFile file=new DirFile(); file.setFilepath(subFile.getAbsolutePath()); file.setFilename(subFile.getName()); file.setParentFilename(parentFile.getAbsolutePath()); dirFile.add(filE); if(subFile.isDirectory()) { initFile(subFile,dirFilE); } } } } }DirFileAction:用于Ajax @H_489_0@
package com.xuzengqiang.tree.struts.action; import java.io.PrintWriter; import java.util.List; import javax.servlet.http.httpServletResponse; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionSupport; import com.xuzengqiang.tree.domain.DirFile; import com.xuzengqiang.tree.utils.LoadAllFiles; @SuppressWarnings("serial") public class DirFileAction extends ActionSupport { private String pathName; public String getPathName() { return pathName; } public void setPathName(String pathName) { this.pathName = pathName; } @Override public String execute() throws Exception { httpServletResponse response = ServletActionContext.getResponse(); response.setContentType("text/html;charset=UTF-8"); response.setHeader("Parma","0"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expiress",0); PrintWriter out = response.getWriter(); List<DirFile> dirFile = LoadAllFiles.getAllFiles(pathName); StringBuffer buffer = new StringBuffer(); for (int i = 0; i < dirFile.size(); i++) { buffer.append("["); buffer.append(dirFile.get(i).getFilepath()); buffer.append(","); buffer.append(dirFile.get(i).getFilename()); buffer.append(","); buffer.append(dirFile.get(i).getParentFilename()); buffer.append("]"); } String dirFiles = buffer.toString(); out.print(dirFiles); out.flush(); out.close(); return null; } }@H_489_0@index.jsp页面。主要是dojoAjax的实现,利用dojo.request, @H_489_0@参数:第一个、必需的参数是请求的URL。第二个参数是一个包含请求选项的对象(非必需)。常用的选项有下面几个:@H_944_70@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <title>测试用例</title> <style type="text/css"> @import "dojo/dojo/resources/dojo.css"; @import "dojo/dijit/themes/tundra/tundra.css"; *{margin:0;padding:0;font-family:微软雅黑;font-size:10pt;} .earth{Border-right:4px solid #DFDFDF; border-bottom:4px solid #DFDFDF;width:900px;} </style> <script type="text/javascript" djConfig=" isDebug: false" src="dojo/dojo/dojo.js"></script> </head> <script type="text/javascript"> require([ "dijit/Tree","dojo/request","dojo/domReady!" ],request) { var pathName="D:\\Maven"; //同样做为根路径 request.post("${pageContext.request.contextPath}/dirFileAction",{ data: { pathName:pathName },handleAs:"text" }).then(function(text) { var treeData= [ {"id":pathName,"name":pathNamE} ]; var myStore = new Memory( { data : treeData,getChildren: function(object) { return this.query({parent: this.getIdentity(object)}); } }); var dirFiles=text.split("]"); for(var i=0;i<dirFiles.length-1;i++) { var dirFile=dirFiles[i].split(","); var filePath=dirFile[0].substr(1); //文件的绝对路径作为id var filename=dirFile[1]; //文件名作为显示 var parentFilename=dirFile[2]; //父文件名,同样为绝对路径 myStore.add({"id":filePath,"name":filename,"parent":parentFilename}); } var treeModel = new ObjectStoreModel( { store: myStore,query: {id:pathNamE} }); var tree = new Tree( { id : "tree",model : treeModel,openOnClick : true,persist: true,autoExpand : false,openOnDblClick : true },"fileTree"); tree.startup(); }); }); </script> <body class="tundra"> <div class="earth"> <div id="fileTree" ></div> </div> </body> </html>结果视图: @H_489_0@
以上是大佬教程为你收集整理的dojo中Tree的使用全部内容,希望文章能够帮你解决dojo中Tree的使用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。