ligerui中的tree的异步动态加载数据库例子(转载)
来源:互联网 发布:mac给iphone刷机 编辑:程序博客网 时间:2024/06/06 12:43
原博地址:http://blog.csdn.net/vazumi/article/details/7063770
记录一下,当时想用异步加载树的方式,结果发生了错误,无法进入到action里面。看到这篇文档之后,将内容稍加修改,完成了树的加载。
下面是调整了之后的内容:
页面内容:
<script type="text/javascript"> var manager = null; $(function () { $("#tree1").ligerTree( { checkbox:false, nodeWidth : 250, onSelect: onSelect }); manager = $("#tree1").ligerGetTreeManager(); }); function onSelect(note) //这里的异步加载逻辑取决于你的数据库设计,把选中节点的id传回去,传回子节点json然后加载 { if (note.data.id=="0") { if (note.data.children && note.data.children.length == 0) manager.loadData(note.target, "json/getDsTree?type=dessert"); //加载我的甜品信息 } else { if (note.data.children==undefined) { if (note.data.id.toString()!=""&¬e.data.type!="favor") //不要再去加载口味下面的子节点,已经没有子节点了 { manager.loadData(note.target, "json/getDsTree?type=favor&dsId="+ note.data.id); //加载甜品的口味 } } } }</script>
action:
public String getDsTree(){System.out.println("I'm in method getDsTree!!!!!!!!!!!!");WebApplicationContext webContext = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletActionContext.getServletContext());dessertDao = (DessertDao) webContext.getBean("dessertDao");if("dessert".equals(type)) {List<Dessert> dataList = dessertDao.findAll();List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>(); for (Dessert dessert :dataList) { HashMap<String, Object> hashMap = new HashMap<String, Object>(); hashMap.put("text", dessert.getDsName()); hashMap.put("id", dessert.getDsId()); hashMap.put("type", type); list.add(hashMap); } // 获取array类型的json字符串 jsonArray = JSONArray.fromObject(list); System.out.println("Dessert List: " + jsonArray);} else if ("favor".equals(type)) {// 根据传过来的甜品ID查找其口味Dessert dessert = new Dessert();dessert = dessertDao.findById(dsId);List<DsFavor> dataList = dessertDao.findAllFavor(dessert);List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>(); for (DsFavor dsFavor :dataList) { HashMap<String, Object> hashMap = new HashMap<String, Object>(); hashMap.put("text", dsFavor.getFavor()); hashMap.put("id", dsFavor.getDsfId()); hashMap.put("type", type); list.add(hashMap); } // 获取array类型的json字符串 jsonArray = JSONArray.fromObject(list); System.out.println("Favor Json: " + jsonArray);}return SUCCESS;}
struts.xml 配置:
<package name="json" extends="json-default" namespace="/json"><action name="getDsTree" class="action.TreeAction" method="getDsTree"><result type="json"> <param name="root"> jsonArray </param></result><result name="input">/ds/ds_tree.jsp</result></action></package>
0 0
- ligerui中的tree的异步动态加载数据库例子(转载)
- ligerui中的tree的异步动态加载数据库例子
- ligerui中的tree的异步动态加载数据库例子
- ligerui下拉框加载tree的几个例子
- ligerui中3级联动的数据库例子
- ligerui中3级联动的数据库例子
- 关于EXT 动态异步加载Tree
- easyui的异步tree加载
- Exitjs tree动态连接数据库加载Node
- springmvc easyUI tree 动态加载数据库实现
- Ext tree的动态加载
- 异步(ajax)动态加载无限级联树(tree)代码示例
- easyui tree动态传参实现异步加载不同数据源
- easyui异步加载tree的问题
- UNITY 异步加载场景的一个例子
- EXT JS 异步动态树服务端加载 Ext.tree.TreeLoader异步服务端加载
- 一个延迟加载Tree数据的例子
- 一个延迟加载Tree数据的例子 .
- GBK,UTF-8,和ISO8859-1之间的编码与解码
- 【微信公众平台改版后】Java模拟登录微信平台,主动推送消息给用户
- js “||”、“&&”的灵活运用
- @SessionAttribution和@ModelAttribute的作用
- 机器学习概览之常见算法汇总
- ligerui中的tree的异步动态加载数据库例子(转载)
- BZOJ 3858 Number Transformation 数论
- Bubbling and capturing in Javascript
- 使用Modernizr探测HTML5/CSS3新特性
- Java关键字final、static使用总结
- 想做净水器代理,需考查品牌净水器厂家的10个问题?(经验分享)
- 2014年度总结
- 如何选择delegate、notification、KVO?
- python和java生成随即序列