EasyUI【DataGrid数据查询】

本文详细介绍了EasyUI的DataGrid组件,包括其基本属性如url、fitcolumns、rownumbers等,事件处理如onDblClickRow和按钮点击查询,以及分页设置和参数格式要求。此外,还涵盖了Dialog对话框窗口、Message消息窗口、Form表单的使用,以及从utils层到servlet层的数据查询实现。

如需温习上一节内容,请点击下方链接进行跳转:EasyUI(Tree后端工作)_云彩123的博客-CSDN博客用户信息表(T_User)列名数据类型长度允许空默认值说明idvarchar36Nuuid()主键,ID号ushttps://blog.csdn.net/m0_64522859/article/details/124647333


目录

1.DataGrid

1.1 DataGrid基本属性

1.2 DataGrid事件

1.3 DataGrid分页

2.Dialog对话框窗口

3.Message消息窗口

4.Form表单

5、sql脚本代码:

6、DataGrid数据查询(utils层实现):

7、DataGrid数据查询(entity层实现):

8、DataGrid数据查询(Dao层实现):

9、DataGrid数据查询(Biz层实现):

10、DataGrid数据查询(servlet层实现):

11、DataGird数据查询(WEB层数据分页实现):

12、DataGird数据查询(WEB层模糊查询分页实现):


1.DataGrid

1.1 DataGrid基本属性

 1.1.1 基本属性

  •       url : '',         // 初始化请求路径
  •       fitcolumns : false,     // 列宽自适应
  •       singleSelect : true,     // 是否选中单行
  •       checkOnSelect : true,     // 点击行选中时该checkbox选中或取消选中
  •       rownumbers:true,            // 行号
  •       fit : true,         // 高宽自适应
  •       border : false,             // 是否显示边框
  •       title : '书本列表',     // datagrid标题
  •       striped : true,             // 显示斑马线效果

   1.1.2 toobar属性(增删改)
      toolbar : "#tb",            // 自定义工具栏

   1.1.3 formatter单元格格式化
    
   1.1.4 styler单元格样式

   1.1.5 sorter
   
   1.1.6 editor


1.2 DataGrid事件


   
   1.2.1 onDblClickRow双击行事件
   onDblClickRow:function(index,row){}

   1.2.2 按钮点击查询
   //查询参数
   var param={
    'bookName':$('#bookname').val(),
    'methodName':'query'
   };
   var options = $('#dg').datagrid('options');
   //指定请求Url地址
   options.url="bookAction.action";
   //开始加载数据
   $('#dg').datagrid('load', param); 

1.3 DataGrid分页

   1.3.1 属性设置
   pagination:true,    // 是否分页
   pageNumber:1,    // 初始化页码
   pageSize:10,        // 初始化每页显示条数

   1.3.2 请求/响应参数格式要求
   Request请求:{"page":页码,"rows":每页多少条记录}
   Response响应:{"total":总记录数,"rows":[{数据项1},{数据项2},{数据项3},...]}


2.Dialog对话框窗口

width : 400,
height : 292,
modal : true,
draggable : true,
collapsible : false,
minimizable : false,
maximizable : false,
title : '编辑书本信息',
buttons:"#dlg-buttons",
href:'bookDetail.jsp',
onLoad:function(){
   //赋值
   $('#ff').form('load',row);
   //重置
   $('#ff').form('reset');
}


3.Message消息窗口

  3.1 $.messager.alert

  3.2 $.messager.confirm

4.Form表单

$('#ff').form("submit",{    
    url:'',    
    onSubmit: function(){  
       //form表单验证
       return $(this).form('validate');
    },    
    success:function(data){

    }    
});

//form表单序列化
$('#ff').serialize();
  

5、sql脚本代码:

create table tb_book
(
       bid number primary key,--书籍id
       bname varchar2(100),--书籍名称
       bprice number(5,2),--书籍价格
       btype varchar2(100)--书籍类型
       
)
between
commit;
select * from tb_promission where id =12;

update tb_promission set url ='BookList.jsp' where id =12;
select * from tb


insert into tb_book(bid,bname,bprice,btype) values (1,'我爱Java',99,'都市');
insert into tb_book(bid,bname,bprice,btype) values (2,'圣墟',55,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (3,'斗罗大陆',29,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (4,'韩湘子传奇',54,'悬疑');
insert into tb_book(bid,bname,bprice,btype) values (5,'带着老婆去打妖',65,'悬疑');
insert into tb_book(bid,bname,bprice,btype) values (6,'豪门联姻之夫来收妖',123,'言情');
insert into tb_book(bid,bname,bprice,btype) values (7,'深宫有朵黑莲花',54,'言情');
insert into tb_book(bid,bname,bprice,btype) values (8,'武动乾坤',229,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (9,'金瓶梅',33,'历史');
insert into tb_book(bid,bname,bprice,btype) values (10,'我在亮剑当战狼',33,'军事');
insert into tb_book(bid,bname,bprice,btype) values (11,'菁华记之千山暮雪',33,'武侠');
insert into tb_book(bid,bname,bprice,btype) values (12,'江湖传奇传',44,'武侠');
insert into tb_book(bid,bname,bprice,btype) values (13,'大秦:不装了,你爹我是秦始皇',33,'历史');
insert into tb_book(bid,bname,bprice,btype) values (14,'西游记',33,'历史');
insert into tb_book(bid,bname,bprice,btype) values (15,'神墓',259,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (16,'我的26岁女房客',99,'都市');
insert into tb_book(bid,bname,bprice,btype) values (17,'我的校花贴身高手',12,'都市');
insert into tb_book(bid,bname,bprice,btype) values (18,'坏蛋是怎样炼成的',29,'都市');
insert into tb_book(bid,bname,bprice,btype) values (19,'很纯很暧昧',2,'都市');
insert into tb_book(bid,bname,bprice,btype) values (20,'领家有女初长成',23,'都市');
insert into tb_book(bid,bname,bprice,btype) values (21,'最强弃少',88,'都市');
insert into tb_book(bid,bname,bprice,btype) values (22,'邪气凌然',219,'都市');
insert into tb_book(bid,bname,bprice,btype) values (23,'黄金瞳',265,'都市');
insert into tb_book(bid,bname,bprice,btype) values (24,'天才相师',65,'都市');
insert into tb_book(bid,bname,bprice,btype) values (25,'陈二狗的妖孽人生',63,'都市');
insert into tb_book(bid,bname,bprice,btype) values (26,'都市奇妖谈',93,'都市');
insert into tb_book(bid,bname,bprice,btype) values (27,'白狐天下',54,'都市');
insert into tb_book(bid,bname,bprice,btype) values (28,'都市圣医',18,'都市');
insert into tb_book(bid,bname,bprice,btype) values (29,'家里养个狐狸精',438,'都市');
insert into tb_book(bid,bname,bprice,btype) values (30,'神龙至尊',22,'都市');
insert into tb_book(bid,bname,bprice,btype) values (31,'我的28岁女房东',432,'都市');
insert into tb_book(bid,bname,bprice,btype) values (32,'最强狂兵',11,'都市');
insert into tb_book(bid,bname,bprice,btype) values (33,'道诡异仙',22.99,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (34,'万古神帝',19,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (35,'万相之王',16,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (36,'最初进化',22,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (37,'核动力剑仙',33,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (38,'斗破苍穹',55,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (39,'烛龙以左',90,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (40,'遮天',1,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (41,'人族镇守使',33,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (42,'一世之尊',55,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (43,'长夜余火',229,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (44,'完美世界',5,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (45,'十方武圣',7,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (46,'神印王座',89,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (47,'牧神记',88,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (48,'奥术神座',123,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (49,'儒道至圣',45,'玄幻');
insert into tb_book(bid,bname,bprice,btype) values (50,'极品老公太难缠',54,'言情');
insert into tb_book(bid,bname,bprice,btype) values (51,'这个道士不好惹',54,'悬疑');
insert into tb_book(bid,bname,bprice,btype) values (52,'食梦貘手记',22,'悬疑');
insert into tb_book(bid,bname,bprice,btype) values (53,'修仙玩家',65,'武侠');
insert into tb_book(bid,bname,bprice,btype) values (54,'春秋煮酒',22,'武侠');
insert into tb_book(bid,bname,bprice,btype) values (55,'绝世仙缘',55,'武侠');
insert into tb_book(bid,bname,bprice,btype) values (56,'我的谍战岁月',55,'军事');
insert into tb_book(bid,bname,bprice,btype) values (57,'三国演义',33,'历史');
insert into tb_book(bid,bname,bprice,btype) values (58,'水浒传',33,'历史');
insert into tb_book(bid,bname,bprice,btype) values (59,'红楼梦',33,'历史');
insert into tb_book(bid,bname,bprice,btype) values (60,'凡人修仙传',33,'玄幻');

insert into tb_book(bid,bname,bprice,btype) values (61,'女总裁的贴身兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (62,'逍遥兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (63,'近身兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (64,'最强兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (65,'至尊兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (66,'美女总裁的特种兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (67,'御用兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (68,'超强兵王在都市',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (69,'医武兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (70,'绝世兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (71,'特种兵王在都市',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (72,'超级兵王在都市',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (73,'超级兵王的美女军团',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (74,'抗战之最强兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (75,'桃运兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (76,'山村透视兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (77,'特种兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (78,'龙牙兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (79,'特种兵王在山村',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (80,'功夫兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (81,'超级兵王俏总裁',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (82,'校花的贴身兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (83,'女神的布衣兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (84,'校花的透视兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (85,'贴身兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (86,'兵王之王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (87,'妖孽兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (88,'超级兵王在校园',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (89,'邪气兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (90,'火爆兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (91,'超品兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (92,'都市之无敌兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (93,'抗日之兵王传说',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (94,'水浒之特种兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (95,'护花兵王',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (96,'至强兵王',33,'都市');

insert into tb_book(bid,bname,bprice,btype) values (97,'万族之劫',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (98,'明天下',33,'都市');
insert into tb_book(bid,bname,bprice,btype) values (99,'逆天邪神',33,'都市');








6、DataGrid数据查询(utils层实现):

BaseDao:

package com.java.easyui.utils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import com.java.easyui.entity.Promission;

public class BaseDao {
	//数据库对象
protected Connection con = null;
protected PreparedStatement ps = null;
protected ResultSet rs = null;
//影响行数
protected int n;
//实体对象
protected Promission promission = null;
//实体对象集合
protected List<Promission> list = null;
//表格总记录数
protected int count;
/**
 * 通用增删改方法
 * @param sql sql语句
 * @param obj 传入的可变参数(可有可无)
 * @return n 影响的行数
 */
public int executeUpdate(String sql, Object...obj) {
	con = DBHelper.getCon();
	try {
		ps = con.prepareStatement(sql);
		if(null != obj) {
			for (int i = 0; i < obj.length; i++) {
				ps.setObject(i+1, obj[i]);
			}
		}
		n = ps.executeUpdate();
	} catch (Exception e) {
		e.printStackTrace();
	}finally {
		DBHelper.myClose(con, ps, null);
	}
	return n;
}
/**
 * 通用查询
 * @param sql sql语句
 * @param obj 可变参数
 * @return rs 结果集对象
 */
public ResultSet executeQuery(String sql, Object...obj) {
	con = DBHelper.getCon();
	try {
		ps = con.prepareStatement(sql);
		if(null != obj) {
			for (int i = 0; i < obj.length; i++) {
				ps.setObject(i+1, obj[i]);
			}
		}
		rs = ps.executeQuery();
	} catch (Exception e) {
		e.printStackTrace();
	}
	return rs;
}
/**
 * 获取表格的记录数
 * @param tableName
 * @param colName
 * @param strName
 * @return
 */
public int getTableCount(String tableName, String colName, String strName) {
	String sql = "select count(*) from "+tableName+" where "+colName+" like '%"+strName+"%'";
	//通过此种方式可以直接跳过ps执行对象,前提是要保证sql语句语句中没有占位符
	rs = this.executeQuery(sql);
	try {
		if(rs.next()) {
			count = rs.getInt(1);
		}
	} catch (Exception e) {
		e.printStackTrace();
	}finally {
		DBHelper.myClose(con, ps, rs);
	}
	return count;
}
/**
 * 获取系统当前时间1
 * @return time 当前时间
 */
public String time() {
	//将Calendar----》Date
	Date time = new Date();
	//转成String 2021年11月11日 12: 12:12:12
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	String format = sdf.format(time);
	return format;
}
public static void main(String[] args) {
	int a = new BaseDao().getTableCount("tb_goods", "gname", "mp3");
	System.out.println(a);
}
}

 DBHelper:

package com.java.easyui.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * 数据库帮助实现类
 * 
 * @author Administrator
 *
 */
public class DBHelper {
	// 加载驱动
	static {
		try {
			// OracleDriver
			Class.forName("oracle.jdbc.driver.OracleDriver");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 获取连接对象
	 * 
	 * @return con 连接对象
	 */
	public static Connection getCon() {
		Connection con = null;
		try {
			con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "123");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return con;
	}

	/**
	 * 关闭服务
	 * 
	 * @param con
	 *            连接对象
	 * @param ps
	 *            执行对象
	 * @param rs
	 *            结果集对象
	 */
	public static void myClose(Connection con, PreparedStatement ps, ResultSet rs) {
		try {
			if (null != rs) {
				rs.close();
			}
			if (null != ps) {
				ps.close();
			}
			if (null != con && !con.isClosed()) {
				con.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

7、DataGrid数据查询(entity层实现):

Book:

package com.java.easyui.entity;

import java.io.Serializable;

/**
 * 书籍实体类
 * 
 * @author Administrator
 *
 */
public class Book implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private Integer bid;// 书籍编号
	private String bname;// 书籍名称
	private double bprice;// 书籍价格
	private String btype;// 书籍类型

	public Book() {
		// TODO Auto-generated constructor stub
	}

	public Book(Integer bid, String bname, double bprice, String btype) {
		super();
		this.bid = bid;
		this.bname = bname;
		this.bprice = bprice;
		this.btype = btype;
	}

	public Book(String bname, double bprice, String btype) {
		super();
		this.bname = bname;
		this.bprice = bprice;
		this.btype = btype;
	}

	public Integer getBid() {
		return bid;
	}

	public String getBname() {
		return bname;
	}

	public double getBprice() {
		return bprice;
	}

	public String getbtype() {
		return btype;
	}

	public void setBid(Integer bid) {
		this.bid = bid;
	}

	public void setBname(String bname) {
		this.bname = bname;
	}

	public void setBprice(double bprice) {
		this.bprice = bprice;
	}

	public void setbtype(String btype) {
		this.btype = btype;
	}

	@Override
	public String toString() {
		return "Book [bid=" + bid + ", bname=" + bname + ", bprice=" + bprice + ", btype=" + btype + "]";
	}

}

 Promission:

package com.java.easyui.entity;

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

/**
 * 权限类
 * @author Administrator
 *
 */
public class Promission implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	
	private Integer id;
	private String text;
	private Integer pid;
	private String icon;
	private String url;
	private Integer state;
	private Integer sort;
	//用来保存子节点
	private List<Promission> children = new ArrayList<Promission>();
	public Promission() {
	}
	public Promission(Integer id, String text, Integer pid, String icon, String url, Integer state, Integer sort) {
		super();
		this.id = id;
		this.text = text;
		this.pid = pid;
		this.icon = icon;
		this.url = url;
		this.state = state;
		this.sort = sort;
	}
	public Promission(String text, Integer pid, String icon, String url, Integer state, Integer sort,
			List<Promission> children) {
		super();
		this.text = text;
		this.pid = pid;
		this.icon = icon;
		this.url = url;
		this.state = state;
		this.sort = sort;
		this.children = children;
	}
	public Promission(String text, Integer pid, String icon, String url, Integer state, Integer sort) {
		super();
		this.text = text;
		this.pid = pid;
		this.icon = icon;
		this.url = url;
		this.state = state;
		this.sort = sort;
	}
	public Integer getId() {
		return id;
	}
	public String getText() {
		return text;
	}
	public Integer getPid() {
		return pid;
	}
	public String getIcon() {
		return icon;
	}
	public String getUrl() {
		return url;
	}
	public Integer getState() {
		return state;
	}
	public Integer getSort() {
		return sort;
	}
	public List<Promission> getchildren() {
		return children;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public void setText(String text) {
		this.text = text;
	}
	public void setPid(Integer pid) {
		this.pid = pid;
	}
	public void setIcon(String icon) {
		this.icon = icon;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	public void setState(Integer state) {
		this.state = state;
	}
	public void setSort(Integer sort) {
		this.sort = sort;
	}
	public void setchildren(List<Promission> children) {
		this.children = children;
	}
	@Override
	public String toString() {
		return "Promission [id=" + id + ", text=" + text + ", pid=" + pid + ", icon=" + icon + ", url=" + url
				+ ", state=" + state + ", sort=" + sort + "]";
	}
	
}

8、DataGrid数据查询(Dao层实现):

IBookDao:

package com.java.easyui.dao;

import java.util.List;

import com.java.easyui.entity.Book;

/**
 * 书籍方法实现接口
 * @author Administrator
 *
 */
public interface IBookDao {
/**
 * 根据关键词模糊查询获取所有的书籍
 * @param pageIndex 页码
 * @param pageSize 每页条数
 * @param strName 关键词
 * @return list 集合
 */
List<Book> queryBookDim(Integer pageIndex, Integer pageSize, String strName);
/**
 * 获取表格的总记录数
 * @param strName 关键词
 * @return Integer 总记录数
 */
Integer queryBookByCount(String strName);
}

IPromissDao:

package com.java.easyui.dao;

import java.util.List;

import com.java.easyui.entity.Promission;

/**
 * 权限方法定义类
 * 
 * @author Administrator
 *
 */
public interface IPromissionDao {
	/**
	 * 根据父节点编号进行查询
	 * 
	 * @param pid
	 *            父节点编号
	 * @return list 集合
	 */
	public List<Promission> queryPromissionByPid(Integer pid);
}

 BookDaoImpl:

package com.java.easyui.dao.impl;

import java.util.ArrayList;
import java.util.List;

import com.java.easyui.dao.IBookDao;
import com.java.easyui.entity.Book;
import com.java.easyui.utils.BaseDao;
import com.java.easyui.utils.DBHelper;

/**
 * 书籍方法接口实现类
 * @author Administrator
 *
 */
public class BookDaoImpl extends BaseDao implements IBookDao {
	private List<Book> list = null;
	private Integer count = 0;
	private Book book = new Book();
	@Override
	public List<Book> queryBookDim(Integer pageIndex, Integer pageSize, String strName) {
		Integer start = (pageIndex-1)*pageSize+1;
		Integer end = pageIndex*pageSize;
		list = new ArrayList<Book>();
		rs = this.executeQuery("select a.* from(select b.*,rownum as rid from (select bid,bname,bprice,btype from tb_book where bname like '%"+strName+"%')b)a where a.rid between "+start+" and "+end+" ");
		try {
			while(rs.next()) {
				book =new Book(rs.getInt(1),rs.getString(2),
						rs.getDouble(3),rs.getString(4)); 
				list.add(book);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			DBHelper.myClose(con, ps, rs);
		}
		return list;
	}

	@Override
	public Integer queryBookByCount(String strName) {
		rs = this.executeQuery("select count(0) from tb_book where bname like '%"+strName+"%'");
		try {
			if(rs.next()) {
				count = rs.getInt(1);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			DBHelper.myClose(con, ps, rs);
		}
		return count;
	}
public static void main(String[] args) {
	List<Book> queryBookDim = new BookDaoImpl().queryBookDim(1, 10, "");
	for (Book book : queryBookDim) {
		System.out.println(book);
	}
//	Integer n = new BookDaoImpl().queryBookByCount("");
//	System.out.println(n);
}
}

PromissionDaoImpl:

package com.java.easyui.dao.impl;

import java.util.ArrayList;
import java.util.List;

import com.java.easyui.dao.IPromissionDao;
import com.java.easyui.entity.Promission;
import com.java.easyui.utils.BaseDao;
import com.java.easyui.utils.DBHelper;

public class PromissionDaoImpl extends BaseDao implements IPromissionDao {

	@Override
	public List<Promission> queryPromissionByPid(Integer pid) {
		list = new ArrayList<Promission>();
		rs = this.executeQuery("select id,text,pid,icon,url,state,sort from tb_promission where pid = ? order by sort",new Object[] {
				pid
		});
		try {
			while(rs.next()) {
				promission = new Promission(rs.getInt(1),rs.getString(2),
						rs.getInt(3),rs.getString(4),
						rs.getString(5),rs.getInt(6),
						rs.getInt(7));
				list.add(promission);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			DBHelper.myClose(con, ps, rs);
		}
		return list;
	}
public static void main(String[] args) {
	List<Promission> list = new PromissionDaoImpl().queryPromissionByPid(-1);
	for (Promission promission : list) {
		System.out.println(promission);
	}
}
}

9、DataGrid数据查询(Biz层实现):

IBookBiz:

package com.java.easyui.biz;

import java.util.List;

import com.java.easyui.entity.Book;

/**
 * 书籍方法实现接口
 * @author Administrator
 *
 */
public interface IBookBiz {
/**
 * 根据关键词模糊查询获取所有的书籍
 * @param pageIndex 页码
 * @param pageSize 每页条数
 * @param strName 关键词
 * @return list 集合
 */
List<Book> queryBookDim(Integer pageIndex, Integer pageSize, String strName);
/**
 * 获取表格的总记录数
 * @param strName 关键词
 * @return Integer 总记录数
 */
Integer queryBookByCount(String strName);
}

IProssionBiz:

package com.java.easyui.biz;

import java.util.List;

import com.java.easyui.entity.Promission;

/**
 * 权限方法定义类
 * 
 * @author Administrator
 *
 */
public interface IPromissionBiz {
	/**
	 * 根据父节点编号进行查询
	 * 
	 * @param pid
	 *            父节点编号
	 * @return list 集合
	 */
	public List<Promission> queryPromissionByPid(Integer pid);
}

BookBizImpl:

package com.java.easyui.biz.impl;

import java.util.List;

import com.java.easyui.biz.IBookBiz;
import com.java.easyui.dao.IBookDao;
import com.java.easyui.dao.impl.BookDaoImpl;
import com.java.easyui.entity.Book;

public class BookBizImpl implements IBookBiz {
//实例化dao层
	IBookDao ibd = new BookDaoImpl();
	@Override
	public List<Book> queryBookDim(Integer pageIndex, Integer pageSize, String strName) {
		// TODO Auto-generated method stub
		return ibd.queryBookDim(pageIndex, pageSize, strName);
	}

	@Override
	public Integer queryBookByCount(String strName) {
		// TODO Auto-generated method stub
		return ibd.queryBookByCount(strName);
	}

}

PromissionBizImpl: 

package com.java.easyui.biz.impl;

import java.util.List;

import com.java.easyui.biz.IPromissionBiz;
import com.java.easyui.dao.IPromissionDao;
import com.java.easyui.dao.impl.PromissionDaoImpl;
import com.java.easyui.entity.Promission;

public class PromissionBizImpl implements IPromissionBiz {
//示例化dao层
	IPromissionDao ipd = new PromissionDaoImpl();
	@Override
	public List<Promission> queryPromissionByPid(Integer pid) {
		//拿到所有的一级菜单
		List<Promission> list = ipd.queryPromissionByPid(pid);
		//进行遍历
		for (Promission promission : list) {
			//进行内容上的显示(排除掉非一级菜单)
			if(promission.getUrl() == null || "".equals(promission.getUrl().trim())) {
				//将二级菜单的内容添加
				//System.out.println(ipd.queryPromissionByPid(promission.getId()));
				promission.setchildren(queryPromissionByPid(promission.getId()));
			}
		}
		return list;
	}
public static void main(String[] args) {
	//List<Promission> list = new PromissionBizImpl().queryPromissionByPid(1);
	/*System.out.println(list);
	for (Promission promission : list) {
		System.out.println(promission);
	}*/
}
}

10、DataGrid数据查询(servlet层实现):

BookListServlet:

package com.java.easyui.servlet;

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

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.fasterxml.jackson.databind.ObjectMapper;
import com.java.easyui.biz.IBookBiz;
import com.java.easyui.biz.impl.BookBizImpl;
import com.java.easyui.entity.Book;

/**
 *实现分页效果
 * Servlet implementation class BookListServlet
 */
@WebServlet("/bookList.do")
public class BookListServlet extends HttpServlet {
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	//1.设置编码格式
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		response.setContentType("application/json;charset=utf-8");
	//2.获取信息
		//页码(开始默认为1)
		Integer pageIndex = 1;
		//用户点击了上下页
		String pIndex = request.getParameter("page");//不能随便写,EasyUI已经定义好了
		//非空判断
		if(null!=pIndex) {
			//重新给页码赋值
			pageIndex = Integer.parseInt(pIndex);
		}
		//条数
		Integer pageSize = 10;
		String pSize = request.getParameter("rows");//不能随便写,EasyUI已经定义好了
		//判断
		if(null!=pSize) {
			pageSize = Integer.parseInt(pSize);
		}
		//搜索内容
		String searchName = request.getParameter("searchName");
		System.out.println(searchName);
		//非空判断
		if(null==searchName) {
			searchName = "";
		}
	//3.调用biz层的方法
		IBookBiz ibb = new BookBizImpl();
		//条数
		Integer total = ibb.queryBookByCount(searchName);
		//System.out.println(total);
		//获取所有的书籍信息
		List<Book> list = ibb.queryBookDim(pageIndex, pageSize, searchName);
		//System.out.println(list);
		//将以上内容保存到map集合中
		Map<String,Object> maps = new HashMap<String,Object>();
		//"total":7,"rows":
		maps.put("total", total);
		maps.put("rows", list);
		//把maps转换成JSON格式内容
		ObjectMapper mapper = new ObjectMapper();
		String writeValueAsString = mapper.writeValueAsString(maps);
		//实例化out对象
		PrintWriter out = response.getWriter();
		//将字符串map集合传入进去
		out.write(writeValueAsString);
		//刷新
		out.flush();
		//关闭
		out.close();
		
	}

}

PromissServlet:

package com.java.easyui.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.fasterxml.jackson.databind.ObjectMapper;
import com.java.easyui.biz.IPromissionBiz;
import com.java.easyui.biz.impl.PromissionBizImpl;
import com.java.easyui.entity.Promission;

@WebServlet("/promissionServelt.do")
public class PromissionServelt extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//设置编码格式
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		response.setContentType("application/json;charset=utf-8");
		//获取内容
		//String id = request.getParameter("pid");
		int pid = -1;
		//判断非空
//		if(null!=id) {
//			pid = Integer.parseInt(id);
//		}
		//一级菜单
		IPromissionBiz ipb = new PromissionBizImpl();
		List<Promission> list = ipb.queryPromissionByPid(pid);
		//进行格式的转换
		ObjectMapper mapper = new ObjectMapper();
		String promissionList = mapper.writeValueAsString(list);
		//获取out对象,利用out对象进行传输
		PrintWriter out = response.getWriter();
		out.write(promissionList);
		//刷新
		out.flush();
		//关闭
		out.close();
		
	}

}

11、DataGird数据查询(WEB层数据分页实现):

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
	<!-- 通过指令进行引入 -->
	<%-- <%@ include file="static/common/NewFile1.jsp" %> --%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<! -- 通过头部引入界面能作用base的内容 -->
<!-- 通过指令进行引入 -->
			<%@ include file="static/common/NewFile1.jsp" %>
 <!-- 通过base引入绝对路径,因为绝对路径为标准格式 -->
<base href="${pageContext.request.servletContext.contextPath }/static"> 
<script type="text/javascript">
$(function(){
	//console.log(xPath);
	
	
});
</script>

</head>
<body>
<body class="easyui-layout">   
    <div data-options="region:'north',title:'标题',split:true" style="height:100px;">
    <h1 style="text-align:center">欢迎来到:AJF商城!</h1>
    </div>   
    <div data-options="region:'south',title:'权限',split:true" style="height:100px;">
		<h3 style='margin-left:25%;'>&copy;&copy;所有版权归《余生所爱公司》所有!&nbsp;&nbsp;仿冒必究!本条消息来源于@3302059064qq.com</h3>
    </div>   
    <div data-options="region:'west',title:'列表',split:true" style="width:150px;">
  <!-- 树形列表 -->
  <!-- 
    <ul id="tt" class="easyui-tree">   
    <li>   
        <span>Folder</span>   
        <ul>   
            <li>   
                <span>Sub Folder 1</span>   
                <ul>   
                    <li>   
                        <span><a href="#">File 11</a></span>   
                    </li>   
                    <li>   
                        <span>File 12</span>   
                    </li>   
                    <li>   
                        <span>File 13</span>   
                    </li>   
                </ul>   
            </li>   
            <li>   
                <span>File 2</span>   
            </li>   
            <li>   
                <span>File 3</span>   
            </li>   
        </ul>   
    </li>   
    <li>   
        <span>File21</span>   
    </li>   
</ul>   -->
<!-- 自定义树形列表 -->
	<ul id = "menuTree">
	
	</ul>
    
    </div>   
    <div data-options="region:'center',title:'内容'" style="padding:5px;background:#eee;">
 <!-- 分割按钮 -->
 <a href="javascript:void(0)" id="sb" class="easyui-splitbutton"   
        data-options="menu:'#mm',iconCls:'icon-ok'" onclick="javascript:alert('恭喜你!找到了一个小彩蛋')">Ok</a>   
<div id="mm" style="width:100px;">   
    <div data-options="iconCls:'icon-ok'">Ok</div>   
    <div data-options="iconCls:'icon-cancel'">Cancel</div>   
</div>  
 

     <!-- 内容——选项卡 -->
    <div id="myTabs" class="easyui-tabs" fit="true">   



</div>  
    
    </div>   
<script type="text/javascript">
//加载函数
	$(function(){
		$('#menuTree').tree({    
		    url: xPath+"/promissionServelt.do",    
		    //设置点击事件
			onClick:function(node){//node指的是节点对象(JSON文件中的对象)
				//console.log(node);
				addMyTabs(node);
			} 
		});  
	
	});
	//封住新增选项卡的方法
	function addMyTabs(node){
		//当单击一级菜单无选项卡出现(通过id)
		//console.log(node.id);
		if(node.id === '1'){
			return;
		}
		//解决问题:重复的选项卡
		//通过exists判断选项是否存在
		let flag = $("#myTabs").tabs('exists',node.text);
		//console.log(flag);
		if(flag){
			//当存在第二次点击的情况的就直接进行选中
			$("#myTabs").tabs('select',node.text);
			return;
		}
		$('#myTabs').tabs('add',{    
		    title:node.text,    //选项卡标题
		    content:"<iframe src='"+xPath+"/"+node.url+"' width=100% height=100%>",    //选项卡内容
		    closable:true	//选项卡能否关闭
		});  
	}
	
	
	
	
</script>

</body> 


<!-- <h3>普通超链接</h3>
<a>超链接</a>
<button>普通按钮</button>
通过jQuery EasyUI 实现把超链接转换 按钮
<a class="easyui-link button" id="abtn">超链接按钮</a>
<script type="text/javascript">
/* 该区域为设置相对应的一些来自 jQuery EasyUI 中的样式设置 */
	$("#abtn").linkbutton({
		width:'100px',
		height:'200px',
		//图标添加
		iconCls:'icon-search',
		//按钮的大小
		size:'large',
		//设置jQuery EasyUI中点击事件
	onClick:function(){
		alert(123);
		//方法调用
		$(this).linkbutton('disable');
	}
	});
</script>
 -->

</body>
</html>

12、DataGird数据查询(WEB层模糊查询分页实现):

<%@page import="com.fasterxml.jackson.annotation.JsonInclude.Include"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
	<!-- 通过指令进行引入 -->
	<!-- 在此处引用的原因是因为此处能作用script标签定义的变量  -->
	 <%@ include file="static/common/NewFile1.jsp" %>
</head>
<body>
 <!-- 搜索栏 -->
  <div style="margin:15px auto; margin-left:35%;">   
        <input id="strName" class="easyui-validatebox" type="text" name="strName" data-options="required:true" />   
   		<a id="bookQry" class="easyui-linkbutton" data-options="iconCls:'icon-search'">查询</a>
    </div>   
 <!-- 表格内容区域 -->

	<table id="bookListID" style="width:100%">
	
	
	
	</table>
<div id="tb" style="text-align:right">
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true"/a>
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-help',plain:true"/a>
</div>


<script type="text/javascript">
//入口函数
	$(function(){
		$('#bookListID').datagrid({ 
			//servlet界面
		    url:xPath+'/bookList.do',  
		    //表格标题
		    columns:[[    
		        {field:'bid',title:'书籍编号',width:'25%',align:'center'},    
		        {field:'bname',title:'书籍名称',width:'25%',align:'center'},    
		        {field:'bprice',title:'书籍价格',width:'25%',align:'center'},   
		        {field:'btype',title:'书籍类型',width:'25%',align:'center'}    
		    ]],
		    //表格中分页工具显示
		    pagination:true,
		    //分页下拉框显示的条数
		    pageList:[10,30,50,60,90],
			//发送请求时携带的参数
			queryParams: {
				searchName: $("#strName").val()
		},
			toolbar: '#tb'
		});  
	

	
	//模糊查询的点击事件
	$("#bookQry").click(function(){
		//alert(123);
		mydemo();
	});
	//默认调方法
	mydemo();
	
	

	//封装一个方法实现自动加载第一页的所有行
	function mydemo(){
		$("#bookListID").datagrid('load',{
			searchName: $("#strName").val()
		});
	}
	
	});
	
	
</script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值