easyui tree使用struts2返回的json数据

最近在用jQuery就在网上找了个树js来用,发现easyui所以就配置一下使用,下载了论坛上的一个离线doc文档谁知道那个文档的属性不全,easyui属性只写了两个(url和animate),那就用吧,可是问题来了,struts2返回的json数据格式是key:value型的怎么转啊,找了半天,后来在一个问题贴上看到有一个data属性晕,上官方网站看了下.

Name Type Description Default
urlstringa URL to retrive remote data.null
animatebooleanDefines if to show animation effect when node expand or collapse.false
checkboxbooleanDefines if to show the checkbox before every node.false
cascadeCheckbooleaDefines if to cascade check.true
onlyLeafCheckbooleanDefines if to show the checkbox only before leaf node.false
dataarrayThe node data to be loaded.null

里面有一个data属性就是需要传入的node data.

后台类



package com.eversun.delivery.web.action.site;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.json.annotations.JSON;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.eversun.delivery.database.ISiteManager;
import com.opensymphony.xwork2.ActionSupport;

@Controller
@Scope("prototype")
public class FindSiteTreeAction extends ActionSupport implements
		ServletResponseAware {
	@Resource
	private ISiteManager siteManager;

	private HttpServletResponse response;
        //字符串返回
	private String treeJsonStr;
        //开始我使用的ArrayList传递过去可是怎么也出不来数据改成string了.
       //后来用这个试验也可以
	private JSONArray jsonList ;
	
	@JSON(serialize = false)
	public String getTreeList() {
                 //这句话不用理会就是返回一个jsonarray就行
		JSONArray jsonArray = (JSONArray)siteManager.getTreeJsonData(siteManager
				.getProvinceAndSiteRoot());
		this.setJsonList(jsonArray);
		this.setTreeJsonStr(jsonArray.toString());
		return SUCCESS;
	}

	public void setServletResponse(HttpServletResponse response) {
		this.response = response;

	}

	public String getTreeJsonStr() {
		return treeJsonStr;
	}

	public void setTreeJsonStr(String treeJsonStr) {
		this.treeJsonStr = treeJsonStr;
	}

	public JSONArray getJsonList() {
		return jsonList;
	}

	public void setJsonList(JSONArray jsonList) {
		this.jsonList = jsonList;
	}
	

}

 前台代码

<%@page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<html>
<head>
<style>
.layoutstyle{
height:100%;
width:100%;
display:block;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>网点管理</title>
<link rel="stylesheet" type="text/css" href="../../css/easyui.css">
<script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="../../js/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript">
jQuery(function(){
$.getJSON("getSiteTreeAction.action", function(json){
	//alert(json.jsonList.length);
        //string 的需要这样转一下由于data的数据类型是array的.
	var strjson = eval('('+json.treeJsonStr+')');
        //alert(strjson.jsonList.length);

	$('#typetree').tree({
	checkbox: false,
        //这里需要注意一下data一共可以传两种方式的数据第一种被我注释掉了
	//data:json.jsonList, 
	data:strjson,
	onClick:function(node){
	$(this).tree('toggle', node.target);
				alert('you dbclick '+node.attributes.type);
			}
		});
	});

});
		function reload(){
		$('#typetree').tree('reload');
	}




</script>
</head>
<body >
<div class="easyui-layout  layoutstyle" >
  <div region="east" split="true" title="网点类别"  style="width:150px;">
    <ul id="typetree">
    </ul>
  </div>
  <div id="content" region="center" title="网点列表" style="padding:5px;"> </div>
</div>
</body>
</html>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值