treePanel json java后台
function createTreeMenu(){//创建一个树的面板
var treeMenu = new Ext.tree.TreePanel({
lines : true,
minSize : 150,
border : false,
root : new Ext.tree.AsyncTreeNode({text : 'root'}),
loader : new Ext.tree.TreeLoader({dataUrl:'/extDemo/getData?action=treeMenu'})
});
var win = new Ext.Window({
width : 600,
height : 400,
items : [treeMenu]
});
treeMenu.expandAll();
win.show();
}
loader中的dataurl对应servlet中调用一个生成Json的方法如下:
private String getTreeMenu(){
List<Menu> list = new ArrayList<Menu>();
for (int i = 0; i < 3; i++){
Menu menu = new Menu();
menu.setUrl(null);
menu.setId("id_" + i);
menu.setText("菜单" + i);
menu.setLeaf(false);
for (int j = 0; j < 3; j++){
Menu subMenu = new Menu();
subMenu.setUrl("/extDemo/getData");
subMenu.setId(i + "" + j);
subMenu.setText("子菜单" + j);
subMenu.setLeaf(true);
menu.appendChild(subMenu);
}
list.add(menu);
}
return JSONArray.fromObject(list).toString();
}
getTreeMenu中的Menu代码如下:
public class Menu {
//以下字段的名字一定要是这样,因为它们要跟ext中的treeNode的属性对应.
private String id;
private String text;
private String url;
private boolean leaf;
private List<Menu> children = new ArrayList<Menu>();
public void appendChild(Menu subMenu){
this.children.add(subMenu);
}
/**还有很多get和set方法
*/
}
相关文档:
接口类:
package JFFileEncrypt;
import java.security.Key;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import javax.crypto.KeyGenerator;
import javax.crypto.spec.SecretKeySpec;
/**
* 功能:对文件加密解密操作
* @author jiangfeng
*
&nbs ......
Java容器类类库的用途是"保存对象",并将其划分为两个不同的概念:
1)Collection。一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,而Set不能有重复元素。Queue按照排队规则来确定产生的顺序(通常与它们被插入的顺序相同)。
2)Map。一组成对的”键值对&ldqu ......
Java语言反射提供一种动态链接程序组件的多功能方法。它允许程序创建和控制任何类的对象(根据安全性限制),无需提前硬编码目标类。这些特性使得反射特别适用于创建以非常普通的方式与对象协作的库。例如,反射经常在持续存储对象为数据库、XML或其它外部格式的框架中使用。Java reflection 非常 ......
1.StudentList.java:
/**
*
* @author lucifer
*/
package JavaSerializable;
import java.util.*;
import java.io.*;
public class StudentList implements Serializable{
Vector list = new Vector(6);
public StudentList(){} ......