easyui tree在struts1中的使用详解编程语言

前段时间写过类似的功能,开发环境是struts2,jdk1.6,tomcat
而这次是修改N年前的项目
项目的开发环境为struts1,jdk1.4,weblogic8,比较过时所以就增加了使用easyui的难度。
难点为:一、配置action  不能像struts2那样直接可以和json完美整合
action中result结果集为

<result type="json"> 
         <param name="root">treeNodes</param> 
</result>
而struts1需要在action中进行json转换 JSONArray jsonArray = JSONArray.fromObject(treeNode);  
二、jdk1.4无法使用泛型(不用也无妨)
三、struts1与json整合,需要N个jar包(jar包冲突问题很头疼)

简单介绍下步骤,因为已经写过一篇struts2与easyui的使用,都差不多,可以参考  easyui struts后台实现tree返回json数据 .

一、在jsp页面引入easyui.css,jquery-1.8.0.min.js,jquery.easyui.min.js,easyui-lang-zh_CN.js,包括图片

<ul id="trueULid"></ul>  //用于展现tree

$(function() { 
	$('#trueULid').tree({    
		url : 'shuiwujiguan_list.do?actionType=LoadTreeNode', 
		onSelect : function(node) { 
			window.opener.document.getElementById("swjg").value = node.text; 
			window.opener.document.getElementsByName("swjg_dmSelect")[0].value = node.id; 
		}, 
		onBeforeExpand : function(node,param){ 
			 $('#trueULid').tree('options').url = "shuiwujiguan_list.do?actionType=LoadTreeNode&id=" + node.id; 
		} 
	}); 
});
如果没其他业务需求,可不要onSelect ,onBeforeExpand 
onBeforeExpand 是要在展开父节点之前把该ID传入,以查找它的子节点。
二、struts1不需要配置json(因为配不了)

三、action方法,这是和struts2不同的地方。
response.setContentType("application/json;charset=UTF-8");  
PrintWriter out = response.getWriter();   
JSONArray jsonArray = JSONArray.fromObject(treeNode);   
out.write(jsonArray.toString());   
out.flush();   
out.close(); 

四、添加jar包
json-lib-2.4-jdk14.jar
commons-lang-2.0.jar
commons-beanutils.jar
commons-collections.jar
commons-logging.jar
ezmorph-1.0.6.jar

可能不同的项目环境会有所不同,也以至于查找了N多资料,下载了N多jar包,在csdn上花费了N多积分 
终于凑到可以一起正常使用的了。
从CSDN上下载的那6个jar有一个损坏的(commons-lang.jar),所以又找了一个
重新整合一下 供需要的朋友下载。地址:
http://download.csdn.net/detail/blog.ytso.com/6571713

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/14523.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论