日期:2014-05-16 浏览次数:20441 次

/**
* 定义树节点
*/
public class TreeNode {
//ID
private int id;
//展示数时显示的文本
private String text;
//是否是叶子节点
private boolean leaf;
//子节点的集合
//(@JsonInclude(Include.NON_NULL)序列化时的标记 如果为空则不参与序列化)
@JsonInclude(Include.NON_NULL)
private List<TreeNode> children;
public TreeNode() {}
public TreeNode(int id, String text, boolean leaf) {
super();
this.id = id;
this.text = text;
this.leaf = leaf;
}
public TreeNode(int id, String text, boolean leaf, List<TreeNode> children) {
super();
this.id = id;
this.text = text;
this.leaf = leaf;
this.children = children;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public boolean isLeaf() {
return leaf;
}
public void setLeaf(boolean leaf) {
this.leaf = leaf;
}
public List<TreeNode> getChildren() {
return children;
}
public void setChildren(List<TreeNode> children) {
this.children = children;
}
}
package com.sshe.operation.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.sshe.base.controller.BaseController;
import com.sshe.operation.entity.TreeNode;
/**
* 控制层,我用的Spring3 MVC
* 4个方法分别与Extjs的API对应
* api: {
* create: 'TreeApiController.do?method=createTreeNode',
* read: 'TreeApiController.do?method=queryTreeList',
* update: 'TreeApiController.do?method=updateTreeNode',
* destroy: 'TreeApiController.do?method=destroyTreeNode'
* }
*/
@Controller
@RequestMapping("/TreeApiController.do")
public class TreeApiController extends BaseController {
/**
* 查询的方法
* 对应 read: 'TreeApiController.do?method=queryTreeList'
*/
@ResponseBody
@RequestMapping(params="method=queryTreeList")
public Object queryTreeList(ModelMap map) {
System.out.println(map);
JsonResult result = new JsonResult();
result.setSuccess(true);
result.setData(getTreeList());
return getTreeList();
}
/**
* 新增方法
* 对应create: 'TreeApiController.do?method=createTreeNode'
*/
@ResponseBody
@RequestMapping(params="method=createTreeNode")
public Object createTreeNode(ModelMap map) {
System.out.println(map);
JsonResult result = new JsonResult();
result.setSuccess(true);
return result;
}
/**
* 更新的方法
* 对应 update: 'TreeApiController.do?method=updateTreeNode'
*/
@ResponseBody
@RequestMapping(params="method=updateTreeNode")
public Object updateTreeNode(ModelMap map) {
System.out.println(map);
JsonResult result = new JsonResult();
result.setSuccess(true);
return result;
}
/**
* 删除的方法
* 对应 destroy: 'TreeApiController.do?method=destroyTreeNode'
*/
@ResponseBody
@RequestMapping(params="method=destroyTreeNode")
public Object destroyTreeNode(ModelMap map) {
System.out.println(map);
JsonResult result = new JsonResult();
result.setSuccess(true);
return result;
}
/**
* 测试数据
*/
public List<TreeNode> getTreeList() {
List<TreeNode> list = new ArrayList<TreeNode>();
TreeNode java = new TreeNode(1, "java-1", false, new ArrayList<TreeNode>());
TreeNode hibernate = new TreeNode(2, "hibernate-2", true);
TreeNode spring = new TreeNode(3, "spring-3", true);
TreeNode struts = new TreeNode(4, "struts-4", true);
java.getChildren().add(hibernate);
java.getChildren().add(spring);
java.getChildren().add(struts);