xtree,xloadtree API解析 和实例

js下载地址:http://download.csdn.net/detail/w5167839/7894001

XTREE API

本人英语不好,有误请不要见怪, xtree api英文地址:http://webfx.eae.net/dhtml/xtree/api.html

---------------------------------------------------------

WebFXTreeAbstractNode

父类对象有共同的函数和方法被WebFXTree和WebFXTreeItem两个子类对象继承;

参数

id            Number     只读属性,节点的唯一ID

如果只读HTML元素的id就能得到JS对象然后放入webFXTreeHandler集合.

text              String    节点的文本

action            String      响应关联uri给节点

open              Boolean     只读。返回节点是否打开 如果没有子节点一直返回false

icon              String      节点图像,未指定时

openIcon          String      节点打开时的图像,未指定时

parentNode        Reference   关联父节点

childNodes        Array       所有子节点

方法

add(oNode, [bNoIdent]) Reference  添加

indent()               void       缩进

toggle()               void    切换

expand()               void    打开树节点

collapse()             void    关闭树节点

expandAll()            Void       打开所有节点

collapseAll()          Void    关闭所有节点

getNextSibling()       Reference  得到前一兄弟节点

getPreviousSibling()   Reference  得到后一的兄弟节点

toString()             String     返回HTML格式

--------------------------------------------------------

WebFXTree

构造方法:

new WebFXTree([text], [action], [behavior])

参数

text              String    节点的文本

action            String      响应关联uri给节点

behavior          String      节点的行为

icon              String      节点图像,未指定时

openIcon          String      节点打开时的图像,未指定时

属性:

rendered 标志位,boolean类型,表明树是否已创建并渲染

方法

getSelected()           Reference 得到被选中的对象

setBehavior(sBehavior)  Void      默认为classic,如果设置为explore时可以使树节点展示看起来更像windows Explore

getBehavior()           String    返回classic/explore

---------------------------------------

WebFXTreeItem

构造方法

new WebFXTreeItem([text], [action], [parent], [icon], [openIcon])

参数

text              String    节点的文本

action            String      响应关联uri给节点

parent            Reference   父节点(可选参数)

icon              String      节点图像,未指定时

openIcon          String      节点打开时的图像,未指定时

方法

getFirst() Reference 返回一个子节点的引用

getLast()  Reference 返回最后一个子节点的引用

实例

--------------------------------------------------------------

------------JSP             view

<%@ page language="java" pageEncoding="gbk"%>
</html>
<%--1.注意三个js文件和一个css文件,还需要一个images文件夹里面放了显示文件的图片--%>
<script type="text/javascript" src="Js/xtree.js"></script>
<script type="text/javascript" src="Js/xmlextras.js"></script>
<script type="text/javascript" src="Js/xloadtree.js"></script>
<link type="text/css" rel="stylesheet" href="Js/xtree.css"></link>
<style type="text/css">
 body { background: white; color: black; }
 input { width: 120px; }
</style>
<body>
<script type="text/javascript">

/// XP Look
webFXTreeConfig.rootIcon		= "images/folder.png";
webFXTreeConfig.openRootIcon	          = "images/openfoldericon.png";
webFXTreeConfig.folderIcon		= "images/foldericon.png";
webFXTreeConfig.openFolderIcon	= "images/openfoldericon.png";
webFXTreeConfig.fileIcon		= "images/file.png";
webFXTreeConfig.lMinusIcon		= "images/Lminus.png";
webFXTreeConfig.lPlusIcon		= "images/Lplus.png";
webFXTreeConfig.tMinusIcon		= "images/Tminus.png";
webFXTreeConfig.tPlusIcon		= "images/Tplus.png";
webFXTreeConfig.iIcon		= "images/I.png";
webFXTreeConfig.lIcon		= "images/L.png";
webFXTreeConfig.tIcon		= "images/T.png";
//根节点;WebFXTree静态类型;
var tree =new WebFXTree("xxxxxxxxxxxxxxxxxxx");
//第一个子节点;动态子节点;3个参数name,action,javascript动作;
var shz =new WebFXLoadTreeItem("xxxxxxxxx","xloadtree.action?orgid=00000000001651","javascript:void(0)");
tree.add(shz);
document.write(tree);
</script>
</body>
</html>

------Servlet                 control

	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		req.setCharacterEncoding("gbk");
		String orgid = (String)req.getParameter("orgid");
		//注意返回格式;
		resp.setContentType("text/xml; charset=gbk");
		PrintWriter out =resp.getWriter();
		Base base = new Base();

		String selectData[] = {"o1.orgid","o1.nodename"};
		String fromData= "orgtree o1,orgtree o2";
		String whereData = "o2.nodeid = o1.parentid and o2.orgid = '"+orgid+"'";
		String str =base.select_XML(selectData,fromData,whereData);
		out.print(str);
	}

-------------Base                                              model

/**将SQL结果处理XML
	 * @param selectData
	 * @param fromData
	 * @param whereData
	 * @return
	 *<?xml version="1.0" encoding="gbk"?><tree>
	 *<tree text="abc1" action="javascript:void(0)" src="xloadtree.action?orgid=abcd"  />
	 *   <tree text="abc12" action="javascript:void(0)" />
	 *<tree text="abc2" action="javascript:void(0)" src="xloadtree.action?orgid=abcd" />
	 *</tree>
	 */
	public String select_XML(String selectData[],String fromData,String whereData){
		//select orgid,nodename from orgtree where orgid=abcd00141
		//设置查询数据;
		Model model = new Model();
		model.setSelectData(selectData);
		model.setFromData(fromData);
		model.setWhereData(whereData);
		//返回数据;
		List<String> treeList = model.select();
		//建立XML格式;注意<tree>顶格写不然读取不出来
		String treeStr = "<?xml version=\"1.0\" encoding=\"gbk\"?><tree>";
		int t = -1;
		while(t<treeList.size()-1){
		  String orgid = treeList.get(++t).trim();
		  //<tree text="abc" action="javascript:void(0)" src="xloadtree.action?orgid=abcd"
		  treeStr += "<tree ";
				treeStr += "text=\""+treeList.get(++t).trim()+"\" ";
						//"action=\"javascript:window.location.reload()\"
				//判断是否有子节点;
				if(!isChild(orgid))
					treeStr +=" src=\"xloadtree.action?orgid="+orgid+"\"";
				//注意" />"
				treeStr +=" />";
		}
		//注意</tree>
		treeStr +="</tree>";
		return treeStr;
	}
	/**
	 * 判断是否有子节点;
	 * @param _orgid
	 * @return
	 */
	public boolean isChild(String _orgid) {
		//select y1.orgid from orgtree y1,orgtree y2
		//where y1.parentid = y2.nodeid and y2.orgid=_orgid;
		Model model = new Model();
		String _selectData[] ={"y1.orgid"};
		model.setSelectData(_selectData);
		model.setFromData("shz_orgtree y1 , orgtree y2");
		model.setWhereData(" y1.parentid = y2.nodeid and y2.orgid='"+_orgid+"'");
		if(model.select().toString().equals("[]"))
		   return true;
		return false;
	}
时间: 2024-10-13 08:09:56

xtree,xloadtree API解析 和实例的相关文章

Java 调用Google Map Api解析地址,解析经纬度实例

Java 调用Google Map Api解析地址,解析经纬度实例 使用google地图的反向地址解析功能,提供一个经纬度得到对应地址,或者给出模糊地址,得到经纬度,放在java后台代码中处理,这个使用的是Google的地理编码服务.一般而言数据量不大的情况使用是不限制的.按照Google官方说法是连续90天请求地理编码服务次数超过2000次就会受到限制,因此可以将这些解析好的地址放在Database中,这样可以避免重复请求同一个地址. JAVA Code: /* * System Abbrev

Activiti学习笔记五 — 常用API解析

常用API解析: 一.ProcessEngineConfiguration 流程引擎配置对象(配置数据库连接4个大配置和建表策略) 二.ProcessEngine          流程引擎核心对象(服务大管家) 三.RepositoryService     仓库服务.管理规则相关的信息. 四.RuntimeService     运行时服务. 负责流程的启动,查看,执行等操作. 五.TaskService          任务服务.管理任务的查看,接手,办理等操作. 六.规则管理相关: 1

dom4j解析xml实例

dom4j是一个java的XML API,类似jdom,用来读写XML文件,它性能优异.功能强大和极易使用等特点 所用jar包:dom4j-1.6.1.jar 需要解析的xml文件:people.xml Xml代码   <people city="shenzhen"> <student name="milton" age="22"></student> <student name="lego&q

dom4j解析xml实例(2)

dom4j是一个java的XML API,类似jdom,用来读写XML文件,它性能优异.功能强大和极易使用等特点 所用jar包:dom4j-1.6.1.jar.jaxen-1.1-beta-6.jar 需要解析的xml文件:people.xml <people city="shenzhen"> <student name="milton" age="22"></student> <student name

源生API解析XML文档与dom4j解析XML文档

一.XML语言 XML是一种可扩展的标记语言,是一种强类型的语言,类似HTML(超文本标记语言,是一种弱类型的语言).XML是一种通用的数据交换格式(关系型数据库),综上所诉:XML可以传输数据,也可以存储数据. 1.XML语言书写的注意事项 1.XML标签命名自定义[推荐英文],标签名中不能包含空格 2.XML空格和换行都表示数据,严格区分大小写 3.XML中特殊字符表示的数据需要使用特殊字符编码和HTML一样 4.CDATA区中的数据不会被识别为语法 <![CDATA[王天霸<>&l

kafka急速入门与核心API解析

kafka急速入门与核心API kafka急速入门与核心API解析 kafka环境安装 上一节课我们已经对kafka的基本概念.核心思想有了一定的了解和认知,并且掌握了kafka在实际工作中的一些主要的应用场景.那么接下来,我们就一起快速进入kafka的安装吧. kafka下载地址:http://kafka.apache.org/downloads.html kafka安装步骤:首先kafka安装需要依赖与zookeeper,所以小伙伴们先准备好zookeeper环境(三个节点即可),然后我们来

java dom4j解析xml实例(2)

java利用dom4j解析xml 需要的jar包: dom4j官方网站在 http://www.dom4j.org/ 下载dom4j-1.6.1.zip 解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要加入包jaxen-1.1-beta-7.jar(如果不导入这个架包程序可以执行出结果,但最后会报异常) 将相关jar包引入后,实际解析操作如下:  1.要解析的xml文件province.xml: <china dn="d

【课程分享】HTML5开发框架PhoneGap实战(jQuery Mobile开发、API解析、3个经典项目实战)

对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:厉风行 课程分类:Java 涉及项目:我要地图.豆瓣音乐.小强快跑 用到技术:HTML5.jQuery Mobile.PhoneGap 其他特性:PhoneGap API 涵盖内容:代码.视频.ppt 课时数量:40 PhoneGap前景 Adobe最近公开表示将会为HTML5开发推出更多有意义的工具.有业内人士表示,Adobe的HTML5战略特别值得注意,此外Adobe对于乔布斯的此番公开批评曾积极地回应道:"乔布斯说

java微信开发API解析(五)-用户管理

java微信开发API解析(五)-用户管理 全局说明 * 详细说明请参考前两篇文章. 本文说明 *本文分为五部分: * 工具类MyHttpUtils的封装 * 用户分组管理文档的简单阅读解析 * 分组bean的构建以及各种分组管理的实现源码 * 用户管理的应用场景 * 测试的微信号二维码 * 本文只分析用户管理的用户分组管理部分,其它都大同小异,不再分析处理.如需要,请留言. * 以后原理分析会越来越简洁,具体原理分析请查看以前文章. * 下一篇文章会对于用户普通消息.自定义菜单消息.自动完成用