前段时间写过类似的功能,开发环境是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/itmyhome/6571713

easyui tree在struts1中的使用的更多相关文章

  1. .Net Mvc 返回Json,动态生成EasyUI Tree

    最近做一个项目,开始接触EasyUI,感觉很强大,很适合我这种对前台不是很感冒的人.在学习Tree的过程中,感觉网上的资料挺乱的,很多只是把EasyUI API 抄了一遍.现在把最近这段时间的学到的, ...

  2. jQuery EasyUI tree中state属性慎用

    EasyUI 1.4.4 tree控件中,如果是叶子节点,切忌把state设置为closed,否则该节点会加载整个tree,形成死循环 例如: json入下: [ { "checked&qu ...

  3. [转]easyui tree 模仿ztree 使用扁平化加载json

    原文地址:http://my.oschina.net/acitiviti/blog/349377 参考文章:http://www.jeasyuicn.com/demo/treeloadfilter.h ...

  4. Jquery easyui Tree的简单使用

    Jquery easyui Tree的简单使用 Jquery easyui 是jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻 ...

  5. Jquery easyui tree的使用

    这个ui用的一切都是json数据.树也是如此! 后台需要返回与格式匹配的json数据才能正确加载树. 页面定义一个ui: <ul id="messageInfoAddTree" ...

  6. EasyUI Tree判断节点是否是叶

    方法1:  $('#domaincatalog').tree('isLeaf', node.target); 返回true或false ,true表示是叶节点, false即不是 方法2:官方文档中: ...

  7. 原创: EasyUI Tree 最后一级 节点 横向排列

    原创: EasyUI  Tree 最后一级 节点 横向排列 转载请指明出处 必须要写在: onLoadSuccess 事件中 ddAuthTree.tree({ lines: true, checkb ...

  8. EasyUI –tree、combotree学习总结

    EasyUI –tree.combotree学习总结 一.   tree总结 (一).tree基本使用 tree控件是web页面中将数据分层一树形结构显示的. 使用$.fn.tree.defaults ...

  9. Easyui tree 开启拖放后 在IE下 性能惨不忍睹

    项目中加载一个树结构代码如下 //加载树 function LoadTree() { var url = "../Ajax/StationTree.ashx?showVirtual=1&qu ...

随机推荐

  1. open/write/read

    C语言中open函数 作用:打开和创建文件. 简述: 1 2 3 4 #include <fcntl.h> int open(const char *pathname, int flags ...

  2. C++11内存模型的粗略解释

    基本解释 C++11引入了多线程,同时也引入了一套内存模型.从而提供了比较完善的一套多线程体系.在单线程时代,一切都很简单.没有共享数据,没有乱序执行,所有的指令的执行都是按照预定的时间线.但是也正是 ...

  3. centos下apache+mysql+php安装及配置

    今天难得休闲,自从加盟当前公司以来好像就基本没有写过博客了.难得闲下来和前同事聊天,他们几个人合伙买了VPS在用.这对我们搞WEB开发的童鞋来说是非常重要的,我来这家公司有许久了,但是竟然到现在连一台 ...

  4. 【转】android资源目录---assets与res/raw区别

    blog.csdn.net/hshm20517/article/details/6461890 assets:用于存放需要打包到应用程序的静态文件,以便部署到设备中.与res/raw不同点在于,ASS ...

  5. LINUX Find命令使用

    LINUX Find命令使用 ====================================================== find   -name april*            ...

  6. freemarker跳出循环

    break语句跳出当前循环,如下: <#list table.columns as c>             <#if c.isPK>                 &l ...

  7. [原]Unity3D深入浅出 - 物理引擎之刚体部件(Rigidbody)

    在虚拟世界中,任何物体都是没有活力的,要想变的真实,Rigidbody是必不可少的组件,下面介绍Rigidbody的各个属性: Mass:质量 Drag:阻力,对象在运动时遇到的空气阻力,0表示没有空 ...

  8. Json时间格式转换问题

    很多时候在数据库中取出数据,需要用Json来接收,但是接受出来的数据竟然是:/Date(1386040883000+0800)/ 这种格式. 这个时候就需要将Json格式,转换成Javascript格 ...

  9. 十大流行Linux发行版

    [2013年5月13日 51CTO外电头条]Linux是功能强大的常用操作系统之一,目前它在计算机操作系统领域的发展速度越来越快.它提供了出色的性能和速度.Linux用起来非常稳定而可靠.它还提供了几 ...

  10. shareSDK实现QQ第三方登录

    // QQ登录 case R.id.login_share_qq: Platform qq = ShareSDK.getPlatform(QQ.NAME); qq.SSOSetting(false); ...