dojo lazy Tree,使用JsonRest获取节点数据
发布时间:2020-12-16 21:34:48 所属栏目:百科 来源:网络整理
导读:创建html标签 div id="tree2"/div 创建dojo代码 require(["dojo/store/JsonRest","dijit/Tree","dijit/tree/ObjectStoreModel","dojo/domReady!"],function(JsonRest,Tree,ObjectStoreModel){var usGov = new JsonRest({target: "/dojo/rest/echo/getLazyTre
创建html标签<div id="tree2"></div> 创建dojo代码require([ "dojo/store/JsonRest","dijit/Tree","dijit/tree/ObjectStoreModel","dojo/domReady!" ],function(JsonRest,Tree,ObjectStoreModel){ var usGov = new JsonRest({ target: "/dojo/rest/echo/getLazyTree",// dojo为tomcat中配置的Context path,rest为web.xml配置路径 getChildren: function(object){ return this.query({id: object.id}); } }); var model = new ObjectStoreModel({ store: usGov,mayHaveChildren: function(object){ if(object.children == false){// 为叶子节点 return false; }else{// 非叶子节点 return "children" in object; } } }); var tree = new Tree({ model: model,persist: false },"tree2"); tree.startup(); }); rest服务的java代码bean类class Org{ String id; String name; boolean children; public String getId() { return id; } public void setId( String id ) { this.id = id; } ...... } rest类@Path("/echo") public class Echo { @GET @Path("/getLazyTree") @Produces("application/json") public List< Org > getTreeParent(@Context HttpServletRequest request){ String id = request.getParameter( "id" ); System.out.println("id="+id); if( id == null ){ Org root = new Org(); root.setName( "北京测试" ); root.setId( "root" ); root.setChildren( true ); List< Org > lt = new ArrayList< Org >(); lt.add( root ); return lt; }else{ if( id.equals( "root" ) ){ Org one = new Org(); one.setId( "corp1" ); one.setName( "测试子公司1" ); one.setChildren( true ); Org two = new Org(); two.setId( "corp2" ); two.setName( "测试子公司2" ); two.setChildren( true ); List< Org > subOrgs = new ArrayList< Org >(); subOrgs.add( one ); subOrgs.add( two ); return subOrgs; } if( id.equals( "corp1" ) ){ Org one = new Org(); one.setId( "team1" ); one.setName( "测试车队1" ); one.setChildren( false ); Org two = new Org(); two.setId( "team2" ); two.setName( "测试车队2" ); two.setChildren( false ); List< Org > subOrgs = new ArrayList< Org >(); subOrgs.add( one ); subOrgs.add( two ); return subOrgs; } if( id.equals( "corp2" ) ){ Org one = new Org(); one.setId( "team21" ); one.setName( "测试车队21" ); one.setChildren( false ); Org two = new Org(); two.setId( "team22" ); two.setName( "测试车队22" ); two.setChildren( false ); List< Org > subOrgs = new ArrayList< Org >(); subOrgs.add( one ); subOrgs.add( two ); return subOrgs; } } return null; } } 从头信息看调用过程及返回数据加载跟节点
加载第一级子节点
调用完成后的页面
点击第一级子节点后的调用过程
调用完成后的页面(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |