一个动态加载的树,很多坑,肯定还有改进的空间。(也许java程序员放弃extjs4,资料不多)
先上po
public class TreeNodeVO {
private String id;
private String text;
private String nodetype;
private boolean leaf;
private String hrefTarget;
private String href;
private String cls;
// private boolean checked;
private String parentId;//parentId在extjs3里面我是没写的,这里貌似很重要
getter()....setter()....//自己补充
checked有的话,就是可选的了,尼玛
action代码
public List children;
private boolean success;
public String treenode() {
children = new ArrayList();
TreeNodeVO benz = new TreeNodeVO();
benz.setText("二级菜单目录1");
benz.setCls("folder");
benz.setLeaf(false);
benz.setId("10");
benz.setParentId("1");
children.add(benz);
List bmwList = new ArrayList();
benz.setChildren(bmwList);
benz = new TreeNodeVO();
benz.setText("子菜单2-1");
benz.setCls("file");
benz.setLeaf(true);
benz.setParentId("10");
benz.setId("21");
bmwList.add(benz);
// System.err.println(itemstr);
success=true;
return SUCCESS;
}
这里不用children的话,多重树就不好办了。
struts.xml
<pre class="html" name="code"><action name="treenode" class="treenodeAction" method="treenode">
<result type="json"/>
</action>
spring.xml
<bean id="treenodeAction" class="action.LoginAction"
scope="prototype">
js代码,里面于2个store,一个原来的,一个动态的
Ext.require(['*']);
Ext.onReady(function() {
Ext.QuickTips.init();
var store = Ext.create('Ext.data.TreeStore', {
root : {
expanded : true,
children : [{
text : "detention",
leaf : true
}, {
text : "homework",
expanded : true,
children : [{
text : "book report",
leaf : true
}, {
text : "alegrbra",
leaf : true
}]
}, {
text : "buy lottery tickets",
leaf : true
}]
}
});
var treestore = Ext.create('Ext.data.TreeStore', {
root : {
text : '根节点',
id:'1',
expanded : true
},
autoLoad:true ,
proxy : {
type : 'ajax',
url : './<span style="color: rgb(255, 0, 0);">treenode.action'</span>,
reader : {
type : 'json',
root : '<span style="color: rgb(255, 0, 0);">children</span>'
}
}
});
var treepanel = Ext.create('Ext.tree.Panel', {
store : <span style="color: rgb(255, 0, 0);">treestore,</span>
rootVisible : true
})
Ext.create('Ext.Panel', {
width : "100%",
height : "100%",
layout : 'border',
items : [{
region : 'west',
title : "目录",
width : "20%",
minSize : 175,
maxSize : 400,
collapsible : false,
margins : '0 0 0 5',
layout : 'accordion',
layoutConfig : {
animate : true
},
items : [treepanel]
}, {
region : 'center',
title : 'Column 2',
width : "80%"
}],
renderTo : Ext.getBody()
});
});
好像可以了,哈哈,真坑爹
分享到:
相关推荐
Extjs4_学习指南,很适合新手入门的Ext教程
extjs+s2sh整合,这个项目的整合,融合了三大框架加extjs
Extjs4_API文档整理
struts_spring_hibernate_extjs4_笔记
Extjs4_API文档整理
Extjs_API文档整理,还是不错的,大家共享了。
系统架构:s2sh + extjs4, 配置我采用传统的xml配置,并没有使用注解的形式,是因为我考虑到xml配置能够更清晰明了,通过配置文件能够清晰看出类之间的关系。 系统特点: 1、使用ehcache 缓存存储用户登录信息,...
ExtJS实现的用户管理界面,实现了用户的增加功能、修改功能、删除功能、查看工程。还提供了下拉列表选择框进行年龄的选择功能。
ExtJs教程_完整版
ExtJS4_官方指南:MVC架构_简体中文版
EXTJS+ASP开发通讯录程序,作为学习EXTJST学习实例
extjs4的themo库 extjs4的themo库 extjs4的themo库 Themo Library of extjs4
一个使用extjs4开发的一个权限系统!
在tapestry中应用extjs的兼容代码
java web ssh+oracle+extjs4框架编写的简单实例,主要包含表格,新增添加删除
ExtJs 教程_完整版,适合新手开发 第一章 起步1在这章里我们将介绍ExtJS的基本功能。如果你对web开发熟悉的话您会惊诧于ExtJS框架的优雅不同其他的JavaScript库ExtJS为您的开发夯实了基础只需几行代码...
extjs_struts2_整合
EXTJS+PHP bs小型房屋管理系统
Extjs4.0.7_desktop基础搭建.用Extjs 开发而成的 额
ExtJs教程_完整版,Extjs入门教程,不错