`
okwang1979
  • 浏览: 31045 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

easyui tree使用struts2返回的json数据

阅读更多

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

NameTypeDescriptionDefault
url string a URL to retrive remote data. null
animate boolean Defines if to show animation effect when node expand or collapse. false
checkbox boolean Defines if to show the checkbox before every node. false
cascadeCheck boolea Defines if to cascade check. true
onlyLeafCheck boolean Defines if to show the checkbox only before leaf node. false
data array The 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>
 
3
2
分享到:
评论
7 楼 cgfno1 2014-05-13  
数据是从哪来的啊?
把得到的数据给了jsonArray就行了吗?
6 楼 tomfish88 2012-06-07  
最终还是用你的方法搞定了3q
5 楼 tomfish88 2012-06-07  
jsonarray的格式是什么样的? 能列一个么? 如:

[{ 
"id":"001",
    "text":"Languages", 
    "state":"open", 
    "children":[{ 
      "id":"99",
        "text":"Java1"
    },{
    "id":"88",
        "text":"C#",
        "children":[{
        "id":"888",
        "text":"C#1"
       },{
        "id":"887",
        "text":"C#2"
        }] 
    }] 
}]
4 楼 tomfish88 2012-06-01  
{"jsona":[{"total":"a","total2":"a2"}]} 我生成的数据是这个样子的,无法解析怎么,

能不能直接生成[{"total":"a","total2":"a2"}] 这个样子的呢
3 楼 wmmang 2012-05-25  
看了你的文章我终于弄出来了。真心感谢!
2 楼 wei_jiyong 2012-03-19  
有没有这个例子的源代码,给我发一份,我最近正在做这一块的项目,急需,谢谢!邮箱是252637867@qq.com
1 楼 okwang1979 2010-09-06  
版本
query-1.4.2.min.js
jquery.easyui 1.2

相关推荐

    EasyUI实现异步加载tree(整合Struts2)源码

    总结起来,整合EasyUI Tree和Struts2的关键在于理解Tree的异步加载机制,以及在Struts2 Action中正确返回JSON数据。通过这种方式,我们可以构建出高性能、交互友好的树形数据展示界面。在实际项目中,可以结合数据库...

    easyUI文件

    通过配置Struts2的Action,配合JSON结果类型,可以方便地返回JSON数据供EasyUI组件消费。同时,Struts2的拦截器和验证机制也能确保数据安全和业务逻辑的正确性。 总结来说,"easyUI文件"中包含的tree、layout和tabs...

    jQueryEasyUI

    1. **Ajax通信**:jQueryEasyUI的组件可以利用jQuery的Ajax功能与Java后端进行数据交互,如发送请求到Spring MVC或Struts2的Action,获取JSON数据并更新界面。 2. **Servlet或Controller处理**:在Java后端,可以...

    jQuery-Easyui 多级菜单 前后台

    通过上述分析,我们可以看出这段代码展示了如何使用Java后端技术结合`Gson`库构建一个JSON格式的多级菜单数据,并通过`Struts2`框架将这些数据返回给前端。前端则可以使用`jQuery-EasyUI`中的树形菜单组件来渲染这些...

    EasyUI 实例代码

    - **JSON 格式数据**:通常后端返回的数据以 JSON 格式传递,EasyUI 可以直接解析并展示。 6. **08-easyUI 文件夹可能包含的内容** - `jsp` 文件:包含 EasyUI 组件的示例页面,展示了如何在 JSP 中使用 EasyUI。...

    easyui完整包

    6. **与后端框架集成**:EasyUI 通常与Java后端框架(如Spring MVC、Struts2等)或者PHP、ASP.NET等其他语言的后端框架配合使用,实现数据的动态加载和异步交互。 7. **Ajax与JSON**:EasyUI 利用jQuery的Ajax功能...

    SYPRO示例项目源码和EasyUI入门视频教程

    sshe示例程序(struts2+spring3+hibernate4+easyui)(Maven构建) easyui1.2.6整站文件.zip jquery1.7.2中文API修正版.chm jquery.easyui-1.2.5源码未压缩版.rar jquery-easyui-1.2.6.zip JQuery-esqyUI中文-1.2.5API....

    Jquery easyui 实现动态树

    在服务器端,我们需要创建一个处理请求的Action,如Java中的Struts2 Action,这个Action会拼接JSON数据并返回给前端。在提供的代码中,我们看到一个名为`LoadWfNodesAction`的类,它从请求中获取`wfId`参数,然后...

    ajax请求后台得到json数据后动态生成树形下拉框的方法

    文章还提到了在后台处理数据的部分,使用了Struts2框架的配置文件,定义了一个action来处理请求: ```xml *" class="com.chinasoft.action.DepartmentAction" method="{1}"&gt; &lt;result name="getAllDep" type="json...

    树说明文档.doc

    综上所述,本文档详细介绍了如何使用EasyUI框架创建多级树形结构,并提供了实现的具体步骤和代码示例,以及在Struts2框架下如何配置和请求树形数据的相关信息。这对于理解和实现基于框架的树形结构非常有帮助。

    大数据功能模块概要设计.doc

    J2EE服务端开发涉及的库包括apache-commons提供基础类扩展,json-lib处理JSON数据,junit进行单元测试,struts2/spring mvc作为MVC框架,ibatis/mybatis/hibernate作为ORM层选择。 **选型** 3.1 **中间件**:商业...

    大数据功能模块概要设计_V1.1.pdf

    - **J2EE基础类库**:如Apache Commons、JSON-Lib用于JSON处理,JUnit进行单元测试,Struts2或Spring MVC作为MVC框架,Spring处理业务逻辑,ORM层可以选择ibatis、mybatis或hibernate。 - **中间件**:商业中间件...

Global site tag (gtag.js) - Google Analytics