`
baobeituping
  • 浏览: 1068159 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

使用struts2加ztree加jquery生成树形结构

阅读更多

首先下载ztree,然后引入到页面中。

前台页面:

<%@page contentType="text/html;charset=gbk"%>
<%@include file="/include/inc/top.inc"%>
<%@page buffer="none"%>
<%@page import="common.treebase.TreeBase"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.*"%>
<%@page import="common.util.*"%>
<script language="javascript" src="/js/tree/jquery.ztree-2.6.js"></script>

<LINK href="/css/tree/zTreeIcons.css" type="text/css"  rel="stylesheet"/>
<LINK href="/css/tree/zTreeStyle.css" type="text/css"  rel="stylesheet"/>

</form>
<ul id="tree" class="tree" style="width:300px; overflow:auto;"></ul>
<input type="button" value="所选节点" onclick="getSelectedNodes()"/>


</script>
  <SCRIPT LANGUAGE="JavaScript">
 var zTree;//树
 var setting;//参数设置
 var zTreeNodes = [] ;//数据
 setting = {
   async : true,//异步加载
   asyncUrl: "${path}/Perssion!getPerssionTree.action",//数据文件
   showLine: true,//显示虚线
   checkable : true,//复选框
   //checkType : { "Y": "p", "N": "s" },
   //下面的三个属性是同时出现的 用于关联父子节点
   isSimpleData : true,
   treeNodeKey : "id",
   treeNodeParentKey : "pId",
   nameCol : "name"
  };

 

 

 //所选节点
 function getSelectedNodes(){
  var selectedNode = zTree.getCheckedNodes();
  for(var i=0;i<selectedNode.length;i++)
  {
   alert(selectedNode[i].id);
  }
 }
 
 

 $(document).ready(function(){
  zTree = $("#tree").zTree(setting, zTreeNodes);
 });
  </SCRIPT>

 

前台页面会提交请求到后台的数据,

ZTREE要求的数据格式为:

[
 {"id":1, "pId":0, "name":"手机",iconSkin : "sim1"},
 {"id":11, "pId":1, "name":"诺基亚",iconSkin : "sim2"},
 {"id":12, "pId":1, "name":"三星",iconSkin : "sim3"},
 {"id":121, "pId":12, "name":"apple",iconSkin : "sim4"}
]

后台代码:

public void getPerssionTree() throws Exception{
  DataBase db = new DataBase();
  Connection con;
  PreparedStatement pstm;
  ResultSet rs;
  String sql = "select ID,Name,Parent from menus";
  StringBuffer sb = new StringBuffer();

//注意这里必须申明返回为GBK的格式,要不然jquery的ajax返回的数据显示为中文乱码
  response.setContentType("text/html;charset=gbk");
     PrintWriter out = response.getWriter();
    
     try {
   con = db.getPoolConnection("POOLNAME_SYSTEMMANAGE");
   pstm = con.prepareStatement(sql);
   rs = pstm.executeQuery();
   sb.append("[");
   while(rs.next())
   {
    String id = rs.getString("ID");
    String name = rs.getString("Name");
    String parent = rs.getString("Parent");
    if(rs.isLast())
    {
     sb.append("{\"id\":"+id+", \"pId\":"+parent+", \"name\":\""+name+"\",iconSkin : \"sim1\"}");
    }
    else
    {
     sb.append("{\"id\":"+id+", \"pId\":"+parent+", \"name\":\""+name+"\",iconSkin : \"sim1\"},");
    }
   }
   sb.append("]");
  } catch (Exception e) {
   e.printStackTrace();
  }
  System.out.println(sb.toString());
     out.println(sb.toString());
 }

分享到:
评论
1 楼 okjbc 2012-05-15  
作者还是好好回去研究研究struts2,在写。

相关推荐

    struts2.0+ztree+jquery动态生成树结构

    在提供的两个文件"struts+ztree+jquery动态生成树结构1.txt"和"struts+ztree+jquery动态生成树结构2.txt"中,很可能是分别展示了这两种方法的具体实现细节,包括Action的代码示例、前端的jQuery代码和ZTree的配置。...

    ZTree 异步加载 SSH JSON

    ZTree是一款基于jQuery的树形插件,它具有丰富的功能和良好的可扩展性,常用于构建网站的导航菜单、文件目录展示等场景。在"ZTree 异步加载 SSH JSON"这个主题中,我们将深入探讨如何利用ZTree实现异步加载数据,并...

    动态生成树 在数据库里配置数据,在前端显示树 jquery-ztree

    这里我们关注的是使用jQuery-zTree插件在前端实现动态树,结合Struts2和Spring后端框架来从数据库获取并处理数据,以及如何通过Spring集成Quartz进行定时任务调度。 首先,jQuery-zTree是一个强大的JavaScript库,...

    jquery ztree 从后台action加载树节点

    本文将详细介绍如何使用jQuery ZTree结合Ajax技术从后台Action获取JSON格式的数据并将其展示成树形结构。 #### 技术栈介绍 1. **jQuery**: 是一种流行的JavaScript库,简化了HTML文档遍历、事件处理、动画等操作。...

    SSH+ztree+ajax+json

    ZTree是一款基于jQuery的树形插件,它具有丰富的API和高度可配置性,可以方便地实现树形结构的展示、动态加载、节点操作等功能。在描述中提到,这个项目是作为ZTree的一个入门实例,目的是为了提供一个清晰的结构,...

    ssh框架ztree分类增删改查

    在ZTree的实现中,Struts2可以用来接收前端的Ajax请求,执行相应的业务逻辑,并返回JSON格式的数据,供ZTree动态更新树形结构。 2. **Spring**:Spring框架是Java开发的核心,它提供了依赖注入(DI)和面向切面编程...

    ztree二级树菜单(SSI框架下)--hulian平台二版代码

    zTree是一个功能强大的jQuery插件,常用于构建多级树形菜单和数据展示。在hulian平台的第二版中,zTree可能被用作用户界面元素,以提供更直观、交互式的操作体验。 **zTree基础知识:** 1. **zTree介绍**:zTree是...

    spring+struts2+easyui项目,可直接导入eclipse运行,包含数据库脚本与jar包说明

    EasyUI是一个基于jQuery的前端组件库,它提供了大量的UI控件,如表格、树形结构、对话框等,大大简化了前端开发。EasyUI的组件风格与jQuery EasyUI兼容,使得开发者可以轻松创建响应式、美观的界面。在本项目中,...

    spring+struts2+easyui项目,可直接导入eclipse运行,包含数据库脚本与jar包说明,学习参考价值高

    EasyUI是基于jQuery的前端UI库,它提供了丰富的组件,如表格、树形控件、对话框等,使得页面布局和交互设计更为便捷。在本项目中,EasyUI的ztree和highcharts等插件用于构建用户界面和展示数据图表。ztree用于实现...

    maven项目后台权限管理源码

    综上所述,这个"maven项目后台权限管理源码"是一个综合性的后台管理系统,使用了SSH框架实现业务逻辑,Maven进行项目管理和依赖管理,Bootstrap美化前端界面,Ztree展示树形结构,实现了部门、人员、角色和菜单的...

    Strut2_Ztree_json.rar_Ajax_Java_

    ZTree是一款强大的JavaScript树形菜单插件,它能够帮助开发者轻松地在网页上创建交互式的树状结构。Struts2是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序...

    java demo 三级菜单展示及维护,md5加密、拦截器实现

    这里使用了ZTree,它是一个基于jQuery的树形插件,特别适合于构建动态的、可交互的树状结构。ZTree通过JSON数据格式与后台交互,能够轻松实现多级菜单的展现和动态加载。开发者需要在后端(如Struts、Hibernate、...

    Java开发工程师简历模板(三十四)

    同时,能够使用jQuery插件,如zTree(树形组件)、validate(表单验证)和jQuery UI(用户界面组件),提升用户体验。 5. **Struts 2框架**:熟练使用Struts 2框架,包括拦截器、结果集、值栈、OGNL表达式、表单...

Global site tag (gtag.js) - Google Analytics