玩转Web之easyui(二)-----easy ui 异步加载生成树节点(Tree),点击树生成tab(选项卡)

本文主要是介绍玩转Web之easyui(二)-----easy ui 异步加载生成树节点(Tree),点击树生成tab(选项卡),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于easy ui 异步加载生成树及点击树生成选项卡,这里直接给出代码,重点部分代码中均有注释

前台:

 $('#tree').tree({ url: '../servlet/School_Tree?id=-1',  //向后台传送id,获取根节点lines:true,onBeforeExpand:function(node,param){  $('#tree').tree('options').url = "../servlet/School_Tree?id=" + node.id;  //动态获取节点},  loadFilter: function(data){    if (data.msg){    return data.msg;    } else {    return data;    }    },onClick:function(node){                      //节点的点击事件var url='information_'+node.id+'.jsp'; tab(node.text,url); } });   


 

 function tab(text,url) {if ($("#tabs").tabs('exists', text)) {   //若选项卡已存在,选择该选项卡$("#tabs").tabs('select', text);} else {var content = "<iframe frameborder='0' scrolling='auto' style='width:100%;height:100%' src="+ url + "></iframe>";   $("#tabs").tabs('add', {   //生成新的选项卡,title : text,closable : true,content :content,});}}


 

servlet:

package thejavabean;import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import net.sf.json.JSONArray;
import net.sf.json.JSONObject;public class School_Tree extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");response.setCharacterEncoding("UTF-8");PrintWriter out = response.getWriter();String theIdString = request.getParameter("id");//父节点idint id=Integer.parseInt(theIdString);List<School> list=schoolTree(id);  //获取以id为父节点的数据String sc="[";for(School school:list){sc+="{";List<School> l=schoolTree(school.getId());  //判断id节点的儿子节点是否有儿子节点,即判断school中的数据是否为根节点if(l.size()!=0){sc+=String.format("\"id\": \"%s\", \"text\": \"%s\", \"state\": \"closed\"", school.getId() ,school.getName());}else{sc+=String.format("\"id\": \"%s\", \"text\": \"%s\", \"state\": \"\"", school.getId() ,school.getName());}sc+="},";}sc=sc.substring(0, sc.length() - 1); sc+="]";JSONObject  jobj = new JSONObject();jobj.put("msg",sc);response.getWriter().write(jobj.toString());System.out.println(jobj.toString());}public List<School> schoolTree(int id){StudentManage sm=new StudentManage();School school=new School();school.setId(id);return sm.SchoolTree(school);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doGet(request, response);}}


 

javabean:

 

package thejavabean;public class School {private int id;private int pid;private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public int getPid() {return pid;}public void setPid(int pid) {this.pid = pid;}public String getName() {return name;}public void setName(String name) {this.name = name;}}


 

public List<School> SchoolTree(School school) {List<School> list = null;Connection conn = null;PreparedStatement ps = null;ResultSet rs = null; String sql = ""; try {list = new ArrayList<School>();conn = dbc.getConnection();sql = "SELECT id,pid,name FROM SchoolManage where pid= "+school.getId();sql.toUpperCase();ps = conn.prepareStatement(sql);rs = ps.executeQuery();School s = null;while (rs.next()) {s = new School();s.setId(rs.getInt("id"));s.setPid(rs.getInt("pid"));s.setName(rs.getString("name"));list.add(s);}} catch (SQLException e) {e.printStackTrace();}finally {dbc.colseDB(conn, ps, rs);} return list;}


再来说一下数据表,共有三个字段,id,pid,name,大家可以自己写个数据表进行测试,还有DB是我简单封装过的,大家可以稍微结合自己的情况进行修改

这篇关于玩转Web之easyui(二)-----easy ui 异步加载生成树节点(Tree),点击树生成tab(选项卡)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1088815

相关文章

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P