有时候我们不希望一开始就取得整个树的数据然后初始化树,而是希望只取得一小部分数据,随着用户对树的操作,在需要的时候再从服务器取得后续的数据,展现相应的树结构,使用ExtJS的有关组件,我们可以很方便地做到这一步。
客户端的代码如下:
Js代码
Ext.onReady(function() {
var root = new Ext.tree.AsyncTreeNode({
id : "root",
text : "树的根"
});
var loader = new Ext.tree.TreeLoader({
url : '/extapp/Tree'
});
loader.on("beforeload", function(loader, node) {
loader.baseParams.nodeId = node.id;
});
var tree = new Ext.tree.TreePanel({
renderTo : "tree",
root : root,
loader : loader,
width : 200,
height : 300
});
});
Ext.onReady(function() {
var root = new Ext.tree.AsyncTreeNode({
id : "root",
text : "树的根"
});
var loader = new Ext.tree.TreeLoader({
url : '/extapp/Tree'
});
loader.on("beforeload", function(loader, node) {
loader.baseParams.nodeId = node.id;
});
var tree = new Ext.tree.TreePanel({
renderTo : "tree",
root : root,
loader : loader,
width : 200,
height : 300
});
});
其中:
1 需要动态加载的节点要定义为AsyncTreeNode
2 使用TreeLoader从服务器加载数据,本例中服务器为映射到/extapp/Tree的一个Servlet
3 对TreeLoader添加"beforeload"事件,在每次发起request前,设置一个参数,参数就是loader.baseParams后面定义的nodeId,因为我们要根据不同的节点取得不同的子节点数据,所以把节点的id作为参数传给后台。
后台的servlet的doPost是这样的:
Java代码
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
StringBuilder sb = new StringBuilder();
String nodeId = request.getParameter("nodeId");
if (nodeId != null) {
if (nodeId.equals("root")) {
sb.append("[{");
sb.append(" id: 1,");
sb.append(" text: '子节点1',");
sb.append(" leaf: true");
sb.append("},{");
sb.append(" id: 2,");
sb.append(" text: '儿子节点2',");
sb.append(" leaf: false");
sb.append("}]");
} else if (nodeId.equals("2")) {
sb.append("[{");
sb.append(" id: 3,");
sb.append(" text: '孙子节点',");
sb.append(" leaf: true");
sb.append("}]");
}
}
PrintWriter out = response.getWriter();
out.print(sb.toString());
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
StringBuilder sb = new StringBuilder();
String nodeId = request.getParameter("nodeId");
if (nodeId != null) {
if (nodeId.equals("root")) {
sb.append("[{");
sb.append(" id: 1,");
sb.append(" text: '子节点1',");
sb.append(" leaf: true");
sb.append("},{");
sb.append(" id: 2,");
sb.append(" text: '儿子节点2',");
sb.append(" leaf: false");
sb.append("}]");
} else if (nodeId.equals("2")) {
sb.append("[{");
sb.append(" id: 3,");
sb.append(" text: '孙子节点',");
sb.append(" leaf: true");
sb.append("}]");
}
}
PrintWriter out = response.getWriter();
out.print(sb.toString());
}
后台很简单:
1 那段延时是为了在前台看出加载等待效果的
2 根据request的参数nodeId的不同,返回不同的子节点数据。当然实际应用当中这些数据一般是根据数据库中的数据生成的,这里略去了。
原文出处:http://www.iteye.com/topic/441349
分享到:
相关推荐
"《学记》原文及白话解另附评注[归类].pdf" 本篇文章主要讨论学习的重要性、教学的方法和目的,以及大学教育的道理。以下是从文章中提炼出的知识点: 一、学习的重要性 * 《学记》强调学习的重要性,认为学习是化...
"《学记》原文及注释、解读[参考]" 《学记》原文及注释、解读是中国教育史上最早、最完善的极为重要的教育理论专著,也是世界上最早的教育专著。该书从教育目的、教育原则、教学原则、教学方法、教师和学生、教学...
《学记》读书笔记_心得感悟五篇范文.doc
《学记》是中国古代教育的经典著作,其对教学方法和理念的探讨至今仍具有深远的启示。深度学习作为现代教育理论中的一个重要概念,虽然源自计算机科学、神经网络和人工智能领域,但其实质与《学记》中提倡的教学理念...
《学记》读书笔记_心得感悟五篇范文精选.doc
这种观点在现代教育中亦被视为黄金法则,强调了教与学之间的动态平衡和互相促进。《学记》还强调了实践与探索的重要性,认为只有亲身经历和实践,人们才能真正理解和掌握知识。 教学方法方面,《学记》提出了...
学记全文及译文.doc
《礼记·学记》作为中国古代一部重要的教育经典,其深远的教育理念贯穿于中国古代教育的各个层面,至今仍对我们的教育实践和理论探讨提供着宝贵的启示。本文将详细解读《礼记·学记》的部分内容,阐述其对教育功能、...
在中国古代文化宝库中,《学记》作为《礼记》的一篇,其深刻的教育思想无疑是一颗璀璨的明珠。作为战国晚期的作品,其作者一般认为是孟子的学生乐正克,这部著作虽篇幅不长,却集中反映了当时教育的深层次理念,对...
《礼记·学记》作为儒家经典之一,承载了中国古代社会关于教育的深刻见解和丰富智慧。它不仅是古代的教育法典,更是一部跨越时空,对当今教育依然具有指导意义的文献。本文将从《学记》的主要内容和现代教育观念的...
《学记》是我国古代教育的经典之作,其对学习观的阐述具有深远的影响力。在现代教育背景下,我们可以通过“自主”“合作”“探究”的维度来理解和应用《学记》中的学习理念,以促进教育的创新和发展。 首先,自主...
在宋朝历史上,张孝祥所著的《太平州学记》不仅是一篇记载地方教育发展史的文章,更是对一位官员在逆境中坚持教育事业的颂歌。文章以太平州的州学重建为线索,记录了王侯秬在面对水灾、边事等重重困难时,依然能够...
《学记》是中国古代乃至世界上最早的专门探讨教育与教学问题的论著,它收录于《礼记》中,成书于战国晚期。据历史学家郭沫若的研究,该书的作者可能是孟子的学生乐正克。《学记》以其深邃的教育理念和丰富的教育实践...
《西游学记》是一款专为行业教育设计的学习软件,其1.0版本的发布旨在提供一个寓教于乐、互动性强的学习平台。这款软件融合了中国古代经典名著《西游记》的故事背景,通过游戏化的方式,使用户在轻松愉快的氛围中...
儒家经典《礼记》中的《学记》篇章,是汉代儒家学者汇编的一部具有深远影响的教育论著。该篇章不仅深入探讨了教育的本质、目的和过程,而且构建了教育体系和管理的框架,并对教学内容与方法进行了细致的阐述。在黄能...
《学记》是中国古代一部关于教育的经典文献,其内容涵盖了教育的重要性、教学方法以及教育的目标等方面,对于现代软件开发行业同样具有深远的启示。以下是对《学记》中相关知识点的详细解读: 1. 教育与社会的关系...
《学记》对高职语文教育的启示.doc
《学记》是对先秦儒家教学思想的理论总结,对教学成功与失败的规律进行了高度概括。认为“豫、时、孙、摩”,是教学取得成功的必要条件。相反,“发然后禁”“时过然后学”“杂施而不孙”“独学而无友”“燕朋”与“燕...
《袁州州学记》作为北宋时期著名学者李觏的代表作之一,不仅是历史记载中的珍贵资料,更是教育意义深远的文献。它记述了袁州州学的重建过程,同时深刻阐述了教育的重要性。本文将通过原文、注释、译文及赏析四个维度...
虹鸟教基学练记考(第二节)-- 令人发懵的《学记》教育思想