ext tree练习

最近学习extjs发现了一个问题,extjs是一个JavaScript的框架,属于前端页面上的,所有完全可以和后天的语言分离,大家在extjs的官方例子中可以看到都是html的格式。也就是说和后台结合的话也是按照某种方式传输数据,干什么又加上各种语言的各种框架。简单问题复杂化。
现在通过例子说明一下。
Java 代码

1. <html>
2. <head>
3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4. <title>Virgo_S</title>
5. <link rel="stylesheet" type="text/css" href="extjs/ext-all.css"/>
6. <script type="text/javascript" src="extjs/ext-base.js"></script>
7. <script type="text/javascript" src="extjs/ext-all.js"></script>
8. <script type="text/javascript" src="extjs/ext-lang-zh_CN.js"></script>
9. <script type="text/javascript">
10. Ext.onReady(function() {
11. var Tree = Ext.tree;
12.
13. //定义根节点的Loader
14. var treeloader=new Tree.TreeLoader({
15. dataUrl:'TreeServlet' //指定的URL
16. });
17.
18. //异步加载根节点
19. var rootnode=new Tree.AsyncTreeNode({
20. id:'1',
21. text:'目录树根节点'
22. });
23.
24. var treepanel = new Tree.TreePanel({
25. //renderTo:"tree_div",
26. //如果使用renderTo,则不能使用setRootNode()方法,需要在TreePanel中设置root属性。
27. el:'tree', // 填充区域
28. rootVisible:true, //隐藏根节点
29. border:true, //边框
30. animate:true, // 动画效果
31. autoScroll:true, // 自动滚动
32. enableDD:false, // 节点是否可以拖拽
33. containerScroll:true,
34. //root:rotnode, //两种设置root节点的方法,
35. //一种配置root,另一种就是setRootNode
36. loader:treeloader
37. });
38.
39. //设置根节点
40. //treepanel.setRootNode(rootnode);
41.
42. //响应事件,传递node参数
43.
44. treepanel.render();
45. rootnode.expand(false,false);
46.
47. });
48.
49. </script>
50. </head>
51. <body>
52. <div id="tree" style="height:500px;width:500px;"></div>
53. </body>
54. </html>

这里说明几点问题:
1.treepanel在render(渲染,呈现)之前一定要有root(根)节点。可以通过配置root属性和setRootNode方法来实现。
2.loader配置选项需要一个Ext.tree.TreeLoader的对象。
3.treeloader是通过一种懒方式,从指定的url加载treenode的子节点。这里要注意的地方就是,结合第一,二条,一定要有 root节点,loader配置的treeloader对象加载的是treenode的子节点,所以一定要设置一个root节点
4.就是响应返回的是一个JavaScript数组,例如
Java 代码

1. [{
2. id: 1,
3. text: 'A leaf Node',
4. leaf: true
5. },{
6. id: 2,
7. text: 'A folder Node',
8. children: [{
9. id: 3,
10. text: 'A child Node',
11. leaf: true
12. }]
13. }]


我的后台是用Java写的一个servlet:
Java 代码

1. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
2.
3. String str = "[{'cls':'folder','id':10,'leaf':false,'children':[{'cls':'file','id':11,'leaf':true,'children':null,'text':'S600'},{'cls':'file','id':12,'leaf':true,'children':null,'text':'SLK200'}],'text':'Benz'}]";
4.
5.
6. response.getWriter().write(str.toString());
7.
:idea:
静态树
Java 代码

1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3. <html>
4. <head>
5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6. <title>Virgo_S</title>
7. <link rel="stylesheet" type="text/css" href="extjs/ext-all.css" />
8. <script type="text/javascript" src="extjs/ext-base.js"></script>
9. <script type="text/javascript" src="extjs/ext-all.js"></script>
10. <script type="text/javascript" src="extjs/ext-lang-zh_CN.js"></script>
11. <script type="text/javascript">
12. Ext.onReady(function(){
13. //定义树的跟节点
14. var root=new Ext.tree.TreeNode({
15. id:"root",//根节点 id
16. text:"我是树根"
17. });
18.
19. //定义树节点
20. var c1=new Ext.tree.TreeNode({
21. id:'c1',//子结点id
22. text:'大儿子'
23. });
24. var c2=new Ext.tree.TreeNode({
25. id:'c2',
26. text:'小儿子'
27. });
28. var c22=new Ext.tree.TreeNode({
29. id:'c22',
30. text:'大孙子'
31. });
32.
33. root.appendChild(c1);//为根节点增加子结点c1
34. root.appendChild(c2);//为c1增加子节点c2,相信你已经找到规律了吧^_^
35. c1.appendChild(c22);//为c1增加子节点c22
36.
37. //生成树形面板
38. var tree=new Ext.tree.TreePanel({
39. renderTo:"tree",
40. root:root,//定位到根节点
41. animate:true,//开启动画效果
42. enableDD:false,//不允许子节点拖动
43. border:false,//没有边框
44. rootVisible:false//设为false将隐藏根节点,很多情况下,我们选择隐藏根节点增加美观性
45. });
46.
47. });
48. </script>
49. </head>
50. <body>
51. <div id="tree" style="height: 500px; width: 500px;"></div>
52. </body>
53. </html>
内容概要:本文档是一份关于交换路由配置的学习笔记,系统地介绍了网络设备的远程管理、交换机与路由器的核心配置技术。内容涵盖Telnet、SSH、Console三种远程控制方式的配置方法;详细讲解了VLAN划分原理及Access、Trunk、Hybrid端口的工作机制,以及端口镜像、端口汇聚、端口隔离等交换技术;深入解析了STP、MSTP、RSTP生成树协议的作用与配置步骤;在路由部分,涵盖了IP地址配置、DHCP服务部署(接口池与全局池)、NAT转换(静态与动态)、静态路由、RIP与OSPF动态路由协议的配置,并介绍了策略路由和ACL访问控制列表的应用;最后简要说明了华为防火墙的安全区域划分与基本安全策略配置。; 适合人群:具备一定网络基础知识,从事网络工程、运维或相关技术岗位1-3年的技术人员,以及准备参加HCIA/CCNA等认证考试的学习者。; 使用场景及目标:①掌握企业网络中常见的交换与路由配置技能,提升实际操作能力;②理解VLAN、STP、OSPF、NAT、ACL等核心技术原理并能独立完成中小型网络搭建与调试;③通过命令示例熟悉华为设备CLI配置逻辑,为项目实施和故障排查提供参考。; 阅读建议:此笔记以实用配置为主,建议结合模拟器(如eNSP或Packet Tracer)动手实践每一条命令,对照拓扑理解数据流向,重点关注VLAN间通信、路由选择机制、安全策略控制等关键环节,并注意不同设备型号间的命令差异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值