Easyui【第二章】Tree前后端

环境搭建(项目设计):

1、创建管理表

2、提取公共页面(static)

在js文件中导入jquert-easyui-1.5.4的包

3、tree前端显示

4、动态生成tab页

5、将数据库(管理表)值绑定到前端页面(dao.imp、biz、biz.imp可自行拓展)

  IModuleDao.java

package com.china.dao;
import java.util.List;
import com.china.entity.Module;

/**
 * 	树的数据访问层接口
 * @author gss
 *
 */
public interface IModuleDao {
	/**
	 * 获取所有的节点
	 * @param pid	编号
	 * @return	返回查询的集合
	 */
	public List<Module> getAll(int pid);

}

 ModuleServlet.java

package com.china.servlet;

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

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSON;
import com.china.biz.IModuleBiz;
import com.china.biz.imp.Imp_ModuleBiz;
import com.china.entity.Module;

/**
 * Servlet implementation class ModuleServlet
 */
@WebServlet("/ModuleServlet")
public class ModuleServlet extends HttpServlet {
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//设置编码
		response.setContentType("application/json;charset=utf-8");
		//调用业务逻辑查询所有方法
		IModuleBiz imb = new Imp_ModuleBiz();
		List<Module> list = imb.getAll(-1);
		//解析
		String json = JSON.toJSONString(list);
		//获取响应对象的输出流
		PrintWriter out = response.getWriter();
		out.write(json);//输出
		out.flush();//清空
		out.close();//关闭
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
		doGet(request, response);
	}
}

 代码展示:

  head.jsp(获取主页面的跳转路径,将对象存储到request中)

<%
	request.setAttribute("lxy", request.getContextPath());
%>
<link rel="stylesheet" type="text/css" href="${lxy}/static/js/jquery-easyui-1.5.1/themes/default/easyui.css">   
<link rel="stylesheet" type="text/css" href="${lxy}/static/js/jquery-easyui-1.5.1/themes/icon.css">   
<script type="text/javascript" src="${lxy}/static/js/jquery-easyui-1.5.1/jquery.min.js"></script>   
<script type="text/javascript" src="${lxy}/static/js/jquery-easyui-1.5.1/jquery.easyui.min.js"></script>  
<script>
	var lxy=${lxy};
</script>

  index.jsp (主页面)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>锦瑟华年</title>
<%@include file="static/head.jsp" %>
<script type="text/javascript">
	$(function() {
		$("#tree").tree({
			url:"${lxy}/ModuleServlet",
			onDblClick:function(node){
				//判断选项卡中是否已存在名字为node.text的选项卡
				if($("#tabs").tabs("exists",node.text)){//如果存在就设置选中
					$("#tabs").tabs("select",node.text);
				}else{//不存在就添加新的tabs
					$('#tabs').tabs('add',{    
					    title:node.text,    
					    content:node.text,    
					    closable:true,    
					    tools:[{    
					        iconCls:'icon-mini-refresh',    
					        handler:function(){    
					            alert('refresh--刷新');    
					        }    
					    }]    
					});  
				}
			}
		})
	})
</script>
</head>
<body class="easyui-layout">   
    <div data-options="region:'north',title:'信息管理系统',split:true" style="height:100px;"></div>   
    <div data-options="region:'south',title:'版权所有@锦瑟华年',split:true" style="height:100px;"></div>   
    <div data-options="region:'west',title:'目录',split:true" style="width:160px;">
    	<!--  -->
    	<ul id="tree" class="easyui-tree"></ul>  
    	<!--  -->
    </div>   
    <div data-options="region:'center'" style="padding:5px;background:#eee;">
    	<!-- aaa -->
    	<div id="tabs" class="easyui-tabs" style="width:100%;height:100%;">   
		    <div title="首页" style="padding:20px;display:none;">   
		        tab1    
		    </div>   
		</div>  
    	<!-- aaa -->
    </div>   
</body>  

</html>

<%@include file="static/head.jsp" %>:引用head.jsp中的路径

include指令(静态包含):通过file属性来指定被包含的页面 

效果图如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EasyUI 是一个基于 jQuery 的 UI 插件库,用于简化 Web 应用程序的前端开发。前后端交互是实现 Web 应用程序的关键之一。以下是 EasyUI 实现前后端交互的步骤: 1. 前端页面中使用 EasyUI 组件,例如 datagrid、form 等。 2. 在前端 JavaScript 中使用 Ajax 技术,向后端发送数据请求。 3. 后端接收请求,并根据请求的参数进行相应的处理。 4. 后端处理完成后,将处理结果返回给前端。可以使用 JSON 格式返回数据。 5. 前端 JavaScript 接收到后端返回的数据,根据数据进行相应的操作。 下面是一个示例代码,实现了在 EasyUI datagrid 中显示后端返回的数据。 前端代码: ```html <div class="easyui-datagrid" id="datagrid"></div> <script> $(function(){ $('#datagrid').datagrid({ url: 'backend.php?action=get_data', columns:[[ {field:'id',title:'ID'}, {field:'name',title:'Name'}, {field:'age',title:'Age'}, ]], }); }); </script> ``` 后端代码(backend.php): ```php <?php $action = $_GET['action']; if ($action == 'get_data') { $data = array( array('id'=>1, 'name'=>'Tom', 'age'=>20), array('id'=>2, 'name'=>'Jerry', 'age'=>18), array('id'=>3, 'name'=>'Marry', 'age'=>22), ); echo json_encode($data); } ?> ``` 在上面的代码中,前端页面使用了 EasyUI datagrid 组件,并指定了一个 url 属性,该属性指向后端 PHP 文件 backend.php,并传递了一个参数 action=get_data。后端 PHP 文件根据参数 action 的值,返回相应的数据。前端 JavaScript 接收到后端返回的数据后,会自动将数据渲染到 datagrid 中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值