jquery easyui tree动态加载-服务端struts返回json数据

第一种方法:

js: 

<script type="text/javascript">
	$(function() {
		$(document).ready(function() {

			$.post("./test/tree.action", {}, function(json) {

				$("#tt").tree({
					data : json.itemsList,
					onClick : function(node) {
						$.post("./test/tree.action", {
							"id" : node.id
						}, function(json) {
							$('#tt').tree('append', {
								parent : node.target,
								data : json.data
							});
						}, "json");

					}
				});
			}, "json");
		});
	});
</script>
</head>
<body>
	<ul ></ul>
</body>

struts:

action:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.struts2.json.annotations.JSON;

import com.opensymphony.xwork2.ActionSupport;

public class TreeAction extends ActionSupport {
	private List<Map<String, Object>> itemsList;
	
	private int id;

	@Override
	public String execute() throws Exception {
		
		itemsList = new ArrayList<Map<String, Object>>();
		for (int i = 0; i < 5; i++) {
			Map<String, Object> item = new HashMap<String, Object>();
			item.put("id", i);
			item.put("text", i);
			item.put("state", "closed");
		//	item.put("children", itemsList2);
			itemsList.add(item);
		}

		return super.execute();
	}

	@JSON(serialize = true, name = "data")
	public List<Map<String, Object>> getItemsList() {
		return itemsList;
	}

	public void setItemsList(List<Map<String, Object>> itemsList) {
		this.itemsList = itemsList;
	}

}
struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>

	<package name="test" extends="json-default" namespace="/test">
		<action name="tree"
			>
			<result name="success" type="json"></result>
		</action>
	</package>

</struts>    


第二种方法:

js:

<script type="text/javascript">
	$(function() {
		$(document).ready(function() {
			$("#tt2").tree({
				url : "test/tree.action"
			});

		});

	});
</script>
</head>
<body>
	<ul ></ul>
</body>

struts:

public class TreeAction extends ActionSupport {

	private int id;

	@Override
	public String execute() throws Exception {
		//可根据id查找相应节点

		itemsList = new ArrayList<Map<String, Object>>();
		for (int i = 0; i < 5; i++) {
			Map<String, Object> item = new HashMap<String, Object>();
			item.put("id", i);
			item.put("text", i);
			item.put("state", "closed");
			// item.put("children", itemsList2);
			itemsList.add(item);
		}

		String data = JSONUtils.toJson(itemsList).toString();

		ServletActionContext.getResponse().getWriter().write(data);
		
		return null;
	}
//getter
//setter
}

推荐文章

实体框架如何在保存期间添加所有实体所需的属性

实体框架如何在保存期间添加所有实体所需的属性

推荐文章

如何使可执行文件在shell-Python中使用

如何使可执行文件在shell-Python中使用

推荐文章

PhoneGap和jQuery Mobile不能与iOS 5兼容?

PhoneGap和jQuery Mobile不能与iOS 5兼容?

推荐文章

使用参数返回值到函数

使用参数返回值到函数

推荐文章

IIS7中的反射组件

IIS7中的反射组件

推荐文章

iPhone4与iPod touch 4g电池续航时间:有50%的差别吗?

iPhone4与iPod touch 4g电池续航时间:有50%的差别吗?

推荐文章

用C++和WinApi显示一个附加的无模式窗口

用C++和WinApi显示一个附加的无模式窗口

推荐文章

如何摆脱“设备繁忙”在重新启动,Redhat5.1没有修改rc.sysinit?

如何摆脱“设备繁忙”在重新启动,Redhat5.1没有修改rc.sysinit?

推荐文章

连接文件以建立EXE时的C++错误

连接文件以建立EXE时的C++错误

推荐文章

如何对SQL中除第一条记录外的记录进行排序

如何对SQL中除第一条记录外的记录进行排序

推荐文章

日志活动:如何使用PHP应用程序记录时间?

日志活动:如何使用PHP应用程序记录时间?

推荐文章

PIC32 c32 1.12,Malloc挂起应用程序

PIC32 c32 1.12,Malloc挂起应用程序

推荐文章

Wicket-Tree+jquery树视图

Wicket-Tree+jquery树视图

推荐文章

rails3.1.1在图像资源上获取损坏的图像

rails3.1.1在图像资源上获取损坏的图像

推荐文章

如何在cmake目标中添加依赖关系

如何在cmake目标中添加依赖关系

推荐文章

设置自定义结构的差异

设置自定义结构的差异