`
mlc0202
  • 浏览: 105375 次
  • 来自: 北京
社区版块
存档分类
最新评论

dhtmlXtree+dom4j快速上手应用(附源码)

阅读更多

由于项目需要,需要写一棵树来展示业务种类信息,网上找了诸多的代码,基本没几个可以直接拿来用的,自己琢磨了几天,把这事搞定了,发一篇文章上来,给需要朋友,以后有需要,直接来这儿看看代码,复制到本地直接使用即可,其中有些属性之类的值方面的代码进行了简化,但不影响具体的使用,有需要的朋友直接扩展节点的属性即可。

开发环境:eclipse,spring+ibatis

业务需求:生成一颗组织结构树

  

public class TransListToXML {
	/**
	 * 生成document
	 * 
	 * @return document
	 * */
	public static Document generateXML() {
		// 获取根部门
		Organization rootOrg = getRootOrg();
		Document doc = DocumentHelper.createDocument();
		Element root = doc.addElement("root");
		Element orgRoot = root.addElement(rootOrg.getName());
		appendXML(orgRoot, rootOrg.getId());
		return doc;
	}

	/**
	 * 获取根节点下直属部门拼接XML 使用递归,一级一级往下查
	 * */
	public static void appendXML(Element e, String orgId) {
		List<Organization> orgList = getOrgByParentId(orgId);
		for (Organization org : orgList) {
			Element e1 = e.addElement(org.getName());
			appendXML(e1, org.getId()); 
		}
	}

	/**
	 * 获取父节点下所有的子节点
	 * */
	public static List<Organization> getOrgByParentId(String orgId) {
		String configLocation = "applicationContext.xml";
		ApplicationContext context = new ClassPathXmlApplicationContext(
				configLocation);
		OrganizationService orgSer = (OrganizationService) context
				.getBean("organizationService");
		return orgSer.getOrgByParentId(orgId);
	}

	/**
	 * 获取部门根节点
	 * 
	 * @return Organization
	 * */
	public static Organization getRootOrg() {
		String configLocation = "applicationContext.xml";
		ApplicationContext context = new ClassPathXmlApplicationContext(
				configLocation);
		OrganizationService orgSer = (OrganizationService) context
				.getBean("organizationService");
		Organization rootOrg = orgSer.getRootOrg();
		return rootOrg;
	}

	/**
	 * 写入XMl文件
	 * 
	 * @param document
	 *            所要写入的文件内容
	 * @param outFile
	 *            文件存放的地址
	 * */
	public static void writeDocument(Document docment, String outFile) {
		try {
			FileOutputStream fileWriter = new FileOutputStream(outFile);// 读取文件
			OutputFormat xmlFormat = OutputFormat.createPrettyPrint();// 设置文件格式
			xmlFormat.setEncoding("utf-8");
			XMLWriter xmlWriter = new XMLWriter(fileWriter, xmlFormat);// 创建写文件方法
			xmlWriter.write(docment);// 写入文件
			xmlWriter.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			System.out.println("文件没有找到");
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		Document doc = TransListToXML.generateXML();
		String outFile = "d://result.xml";
		writeDocument(doc, outFile);
	}
}

 代码不做解释了,注释写的很明白。

 如有不懂,欢迎进行相互交流

 

       

1
2
分享到:
评论

相关推荐

    JS 带右键菜单的目录树 dhtmlxtree+proto.menu 分权限

    JS 带右键菜单的目录树 dhtmlxtree+proto.menu 分权限 JS 带右键菜单的目录树 dhtmlxtree+proto.menu 分权限 图片预览 ...

    JS 带右键菜单的目录树 dhtmlxtree+proto.menu

    JS 带右键菜单的目录树 dhtmlxtree+proto.menu JS 带右键菜单的目录树 dhtmlxtree+proto.menu JS 带右键菜单的目录树 dhtmlxtree+proto.menu ...

    利用Dom4J 创建DhtmlXTree

    标题 "利用Dom4J 创建DhtmlXTree" 暗示了这个主题是关于使用Java的Dom4J库来创建DhtmlXTree,一个流行的JavaScript库,用于构建交互式的树形视图。DhtmlXTree常被用在Web应用程序中,以提供结构化的数据展示,用户...

    (纯Json个人发布Java版)DhtmlxTree+strust2构建异步(动态)加载树

    本示例——"(纯Json个人发布Java版)DhtmlxTree+struts2构建异步(动态)加载树"——展示了如何利用Java技术和前端库DhtmlxTree来实现动态、异步的数据加载功能,这在现代Web应用中非常常见,如文件管理系统、组织结构...

    tree用到js和dom4j-1.6.1.jar包

    总的来说,`dhtmlxtree` 和 `DOM4J` 结合使用,可以构建出功能强大的、动态的树形数据视图,适用于Web应用中展示层次结构数据的场景。开发者可以通过JavaScript和Java的配合,实现数据的后台处理和前台展示,提供...

    dhtmlxTree+springMVC

    标题“dhtmlxTree+springMVC”揭示了本文将要讨论的主题,即如何在SpringMVC框架中集成和使用dhtmlxTree。dhtmlxTree是一款强大的JavaScript组件,用于在Web应用程序中创建交互式树形结构,而SpringMVC是Java后端...

    DHtmlXTree应用指南.pdf

    - 易于集成:只需提供数据源类型(如人员、组织、任务等)和URL地址,组件就能自动从后端获取数据,并使用DOM4J生成XML文件,进而渲染成树形结构。 - 自定义性:支持高度自定义,包括样式调整、事件绑定等。 #### ...

    dhtmlXtree树 右dhtmlXtree键菜单

    dhtmlXtree是一款功能强大的JavaScript库,用于在Web页面中创建交互式的树形结构。它提供了丰富的特性,如拖放操作、多选、上下文(右键)菜单、图标支持等,广泛应用于网站导航、数据组织和展示。在这个场景中,...

    dhtmlxtree

    **dhtmlxtree详解与JSON应用** `dhtmlxtree` 是一个基于JavaScript的富客户端树形组件,它允许在Web应用程序中创建交互式的、可扩展的树状视图。这个组件由DHTMLX Suite提供,它是一个广泛使用的JavaScript UI库,...

    dhtmlxtree的一个实用demo

    【标题】"dhtmlxtree的一个实用demo"指的是一个基于dhtmlxtree的示例应用,这个示例可能展示了如何在网页中实现交互式的树形数据结构,用于展示层次化的信息,比如目录结构、组织架构或者权限管理等。dhtmlxtree是一...

    dhtmlxTree

    dhtmlxTree以其轻量级、高性能和高度自定义的特点,在Web开发中被广泛应用。 **二、JavaScript Tree技术** JavaScript Tree是网页开发中的一个重要组件,它利用JavaScript语言构建出一种图形化的树形结构,用于...

    专业版dhtmlxtree下载

    dhtmlxtree是一款基于JavaScript的开源树形菜单控件,专为Web开发人员设计,用于在网页中构建交互式、可扩展的树状结构。它提供了丰富的功能和自定义选项,使得用户界面更加直观和易于操作。这款专业版dhtmlxtree在...

    dhtmlxtree专业版

    **dhtmlxtree专业版详解** dhtmlxtree是一款基于JavaScript的专业级树形控件,它在...通过深入研究这个压缩包,开发者可以快速上手并充分利用dhtmlxtree的专业特性,为Web应用构建功能强大且用户体验优秀的树形视图。

    Dhtmlxtree的例子

    Dhtmlxtree是一款基于JavaScript的树形控件,它提供了丰富的功能和自定义选项,用于在Web应用中创建交互式的树结构。这个例子展示了如何简单地使用Dhtmlxtree,并且利用XML数据来构建树节点。 首先,我们需要理解...

    dhtmlXTree1.6

    **dhtmlXTree1.6** 是一个基于JavaScript的组件,用于在Web应用程序中创建交互式的树状结构。这个组件允许开发者以动态和灵活的方式展示层次化的数据,常见于网站的导航菜单、文件系统或者组织架构等场景。...

Global site tag (gtag.js) - Google Analytics