JUI/DWZ 分页 Servlet
分页介绍
分页组件参数要由服务器传过来targetType,totalCount,numPerPage,pageNumShown,currentPage 。框架会自动把下面的form中pageNum修改后,ajax重新发请求。下面这个form是用来存查询条件的
|
1
2
3
4
5
6
7
8
9
10
11
12
|
<form id="pagerForm" action="xxx" method="post"> <input type="hidden" name="pageNum" value="1" />/><!--【必须】value=1可以写死--> <input type="hidden" name="numPerPage" value="20" /><!--【可选】每页显示多少条--> <input type="hidden" name="orderField" value="xxx" /><!--【可选】查询排序--> <input type="hidden" name="orderDirection" value="asc" /><!--【可选】升序降序--> <!--【可选】其它查询条件,业务有关,有什么查询条件就加什么参数。 也可以在searchForm上设置属性rel=”pagerForm”,js框架会自动把searchForm搜索条件复制到pagerForm中 --> <input type="hidden" name="name" value="xxx" /> <input type="hidden" name="status" value="active" /> ……</form> |
|
navTabSearch(this);" 等都要修改(dialogSearch(this)))
实际应用
前台(JSP):
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><div class="pageHeader"> <form id="pagerForm" rel="pagerForm" onsubmit="return navTabSearch(this);" action="user" method="post"> <input type="hidden" name="pageNum" value="1" /> <input type="hidden" name="numPerPage" value="${dwzPage.numPerPage}" /> <input type="hidden" name="method" value="page" /> <div class="searchBar"> <table class="searchContent"> <tr> <td> 手机:<input type="text" name="phone" value="${phone}" /> </td> <td> 名字:<input type="text" name="name" value="${name}" /> </td> <td> <select class="combox" name="status"> <option value="">用户状态</option> <option value="0" <c:if test="${0 == status }">selected="selected"</c:if>>未激活</option> <option value="1" <c:if test="${1 == status }">selected="selected"</c:if>>已激活</option> <option value="2" <c:if test="${2 == status }">selected="selected"</c:if>>拒绝</option> <option value="3" <c:if test="${3 == status }">selected="selected"</c:if>>取消关注</option> <option value="4" <c:if test="${4 == status }">selected="selected"</c:if>>离职</option> <option value="5" <c:if test="${5 == status }">selected="selected"</c:if>>黑名单</option> </select> </td> </tr> </table> <div class="subBar"> <ul> <li><div class="buttonActive"><div class="buttonContent"><button type="submit">检索</button></div></div></li> </ul> </div> </div> </form></div><div class="pageContent"> <div class="panelBar"> <ul class="toolBar"> <li><a class="edit" href="user?method=editPage&uid={sid_user}" target="navTab" warn="请选择一个用户"><span>修改</span></a></li> <li class="line">line</li> <li><a title="确实要设置为管理员吗?" target="selectedTodo" rel="ids" href="user?method=setAdmin" class="add"><span>设置为管理员</span></a></li> <li class="line">line</li> </ul> </div> <table class="table" width="100%" layoutH="138"> <thead> <tr> <th width="22"><input type="checkbox" group="ids" class="checkboxCtrl"></th> <th width="70">姓名</th> <th width="120">手机</th> <th width="80">用户状态</th> <th width="120">用户类型</th> <th >备注</th> </tr> </thead> <tbody> <c:forEach items="${dwzPage.list }" var="user" > <tr target="sid_user" rel="${user.id }"> <td><input name="ids" value="${user.id }" type="checkbox" ></td> <td>${user.name }</td> <td>${user.phone }</td> <c:if test="${user.status==0 }"> <td>未激活</td> </c:if> <c:if test="${user.status==1 }"> <td>已激活</td> </c:if> <c:if test="${user.status==2 }"> <td>拒绝</td> </c:if> <c:if test="${user.status==3 }"> <td>取消关注</td> </c:if> <c:if test="${user.status==4 }"> <td>离职</td> </c:if> <c:if test="${user.status==5 }"> <td>黑名单</td> </c:if> <c:if test="${user.status>5 }"> <td>其他</td> </c:if> <c:if test="${user.type==0 }"> <td>管理员</td> </c:if> <c:if test="${user.type==1 }"> <td>普通用户</td> </c:if> <c:if test="${user.type>1 }"> <td>其他</td> </c:if> <td>${user.remark }</td> </tr> </c:forEach> </tbody> </table> <div class="panelBar"> <div class="pages"> <span>显示</span> <select class="combox" name="numPerPage" onchange="navTabPageBreak({numPerPage:this.value})"> <!-- <select class="combox" name="numPerPage" onchange="dialogPageBreak({numPerPage:this.value})"> --> <option value="10" <c:if test="${10 == dwzPage.numPerPage }">selected="selected"</c:if>>10</option> <option value="20" <c:if test="${20 == dwzPage.numPerPage }">selected="selected"</c:if>>20</option> <option value="50" <c:if test="${50 == dwzPage.numPerPage }">selected="selected"</c:if>>50</option> </select> <span>条,共${dwzPage.totalCount}条</span> </div> <div class="pagination" targetType="navTab" totalCount="${dwzPage.totalCount}" numPerPage="${dwzPage.numPerPage }" pageNumShown="${dwzPage.pageNumShown }" currentPage="${dwzPage.currentPage }"></div> <%-- <div class="pagination" targetType="dialog" totalCount="${dwzPage.totalCount}" numPerPage="${dwzPage.numPerPage }" pageNumShown="10" currentPage="${dwzPage.pageNum }"></div> --%> <!-- <div class="pagination" targetType="navTab" totalCount="200" numPerPage="20" pageNumShown="10" currentPage="1"></div> --> </div></div> |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
package com.qsachina.util;import java.util.List;public class DwzPage { private int currentPage = 1; // 当前页数,默认第一页 private int numPerPage = 20; // 每页个数,默认20 private int totalCount = 0; // 总数,默认0 private int pageNumShown = 10; // 页标数字多少个,默认10 private String orderField; // 排序方式 private String orderDirection; // 升序降序 private List<Object> list; // 返回的集合 public int getNumPerPage() { return numPerPage; } public void setNumPerPage(int numPerPage) { this.numPerPage = numPerPage; } public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } public String getOrderField() { return orderField; } public void setOrderField(String orderField) { this.orderField = orderField; } public String getOrderDirection() { return orderDirection; } public void setOrderDirection(String orderDirection) { this.orderDirection = orderDirection; } public List<Object> getList() { return list; } public void setList(List<Object> list) { this.list = list; } public int getPageNumShown() { return pageNumShown; } public void setPageNumShown(int pageNumShown) { this.pageNumShown = pageNumShown; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; }} |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
// 组装查询条件String name = request.getParameter("name");String phone = request.getParameter("phone");String status = request.getParameter("status");Map<String, String> params = new HashMap<>();if(StringUtil.isNotEmpty(name)){ // name等参数可能是null params.put("name", name.trim()); request.setAttribute("name", name.trim()); // 查询条件设置回前台}if(StringUtil.isNotEmpty(phone)){ params.put("phone", phone.trim()); request.setAttribute("phone", phone.trim()); }if(StringUtil.isNotEmpty(status)){ params.put("status", status.trim()); request.setAttribute("status", status.trim()); }// 分页String currentPage = request.getParameter("pageNum");String numPerPage = request.getParameter("numPerPage");DwzPage dwzPage = userService.getPageByParams(params,currentPage,numPerPage);request.setAttribute("dwzPage", dwzPage);request.getRequestDispatcher(page).forward(request, response); |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
/** * * @param params * 查询条件 * @param currentPage * 当前页 * @param numPerPage * 每页个数 * @return 分页实体类 */public DwzPage getPageByParams(Map<String, String> params, String currentPage, String numPerPage) { DwzPage dwzPage = new DwzPage(); if(StringUtil.isNotEmpty(currentPage)){ dwzPage.setCurrentPage(Integer.parseInt(currentPage)); } if(StringUtil.isNotEmpty(numPerPage)){ dwzPage.setNumPerPage(Integer.parseInt(numPerPage)); } List<Object> userList = new ArrayList<>(); StringBuffer sbSQL = new StringBuffer(); // 查询的sql StringBuffer countSbSQL = new StringBuffer(); // 计算总个数sql sbSQL.append("select * from wb_user where 0=0 "); countSbSQL.append("SELECT COUNT(id) as count FROM wb_user where 0=0 "); Iterator<String> it = params.keySet().iterator(); while (it.hasNext()) { String key = (String) it.next(); sbSQL.append(" and ").append(key).append(" like '%").append(params.get(key)).append("%'"); countSbSQL.append(" and ").append(key).append(" like '%").append(params.get(key)).append("%'"); } sbSQL.append(" ORDER BY create_date ASC"); // 分页 sbSQL.append(" LIMIT ").append((dwzPage.getCurrentPage() - 1) * dwzPage.getNumPerPage()).append(",") .append(dwzPage.getNumPerPage()); ResultSet rs = null; ResultSet rsCount = null; User user = null; try { rs = this.executeQuery(sbSQL.toString(), null); rsCount = this.executeQuery(countSbSQL.toString(), null); while (rs.next()) { user = new User(); user.setId(rs.getLong("id")); user.setName(rs.getString("name")); user.setOpenId(rs.getString("openId")); user.setPhone(rs.getString("phone")); user.setStatus(rs.getInt("status")); user.setType(rs.getInt("type")); user.setRemark(rs.getString("remark")); user.setCreateDate(rs.getTimestamp("create_date")); user.setUpdateDate(rs.getTimestamp("update_date")); userList.add(user); } while (rsCount.next()) { dwzPage.setTotalCount(rsCount.getInt(1)); // 设置总数 } } catch (SQLException e) { e.printStackTrace(); } finally { this.close(conn, pstmt, rs); } dwzPage.setList(userList); return dwzPage;} |
密码 阿宓生日,链接:http://pan.baidu.com/s/1kTtRWW3 密码:tzpc
《DWZ笔记五》联动菜单等可以参考此博客http://heavengate.blog.163.com/blog/#m=0&t=1&c=fks_084070086081084067086082083095086086083064092087086070087
JUI/DWZ 分页 Servlet的更多相关文章
- 将j-ui(dwz)套用到thinkphp注意事项
目前我用的 thinkphp 版本是 3.1.3 J-UI dwz 版本好像是 1.4 现在 j-ui有 thinkphp的例子了,请尽量以他们原创为主,我这里都是一些自己搜集和自己钻研的土办法, ...
- RoadFlow工作流与JUI(DWZ)前端框架的集成
此文只说明RoadFlow前端与JUI的集成,关于程序和接口请参照WebForm或MVC文档. 修改JUI配置文件dwz.frag.xml,此文件一般位于JUI根目录下. 2.修改文件js/dwz.n ...
- DWZ分页、排序失效小结
1. 在视图文件中与分页相关的代码段 <form id="pagerForm" method="post" action="w_list.htm ...
- dwz分页实现分析
dwz给我们提供了一个很好的列表UI 我对它的分析后将页面分为四个部分 <form id="pagerForm" method="post" action ...
- JUI/DWZ介绍、简单使用
简介 由于开发的项目使用JUI,所以学习了. DWZ富客户端框架(jQuery RIAframework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.(现在更名为JUI) 可 ...
- Java——分页 Servlet + Jsp+Jdbc 有点瑕疵
1.创建数据库,插入多条数据 2.java连接DB 3.Person类: package com.phome.po; public class Person { private int id; pri ...
- dwz 分页 bug (选回 combox 第一个值时不执行 onchange)
先看一下官方的测试: 官方的演示有两个 bug 一个是combox数字一直不变,二是当选回第一个值时不执行 onchange 事件. 经过firebug调试,这是一个bug,传到后台的参数没有得到及时 ...
- EasyUI表格DataGrid前端分页和后端分页的总结
Demo简介 Demo使用Java.Servlet为后台代码(数据库已添加数据),前端使用EasyUI框架,后台直接返回JSON数据给页面 1.配置Web.xml文件 <?xml version ...
- 【Spring注解驱动开发】面试官:如何将Service注入到Servlet中?朋友又栽了!!
写在前面 最近,一位读者出去面试前准备了很久,信心满满的去面试.没想到面试官的一个问题把他难住了.面试官的问题是这样的:如何使用Spring将Service注入到Servlet中呢?这位读者平时也是很 ...
随机推荐
- JS运行机制之 Event Loop 的思考
先举个栗子,如下: for (var i = 0; i < 5; i++) { setTimeout(function() { console.log('i: ',i); //一秒之后输出几乎没 ...
- 搭建 RabbitMQ Server 高可用集群
阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 ...
- Ubuntu搭建owncloud10
前言: 在此我先吐槽一下.用Centos系统简直是为难我自己,是看到那个系统 感到无比的绝望. 正文: 自己在虚拟机中搭建Ubuntu系统.这里就不说了 安装好之后自己换源.建议的源: 清华源: # ...
- Oracle中rownum原理介绍
rownum原理如下:1.执行查询操作2.将第一行的row num置为13.将得到的行的row num与条件相比较,如果不匹配,则抛弃行,如果匹配,则返回行4.oracle获取下一行,然后将rownu ...
- ELK学习记录一 :初识ELK
ELK是elastic公司提供的一套完整的收集日志并分析展示的产品,分别表示Elasticsearch.Logstash和kibana. (官网截个图) 先来一段个人粗浅的认识: Elasticsea ...
- 建立自己的git服务器
需求情景 就像金山快盘同步盘那样, 在开发环境windows 10和部署环境Ubuntu server 14.04之间建立同步关系.比如windows端多了一个a.txt文件,你推送后,Ubuntu端 ...
- MongoDB实用教程
---------------------------------------------------------------------------------------------------- ...
- 在android系统上写C语言程序--开机启动该程序不进入安卓系统
今天要写的这篇博文意义重大,也是网上很少有的,这是在我工作中学会的一项技术,当然,它也是由简单的问题组合而来的.如何在安卓中写C语言程序,调试安卓驱动,测试程序的的一项重要技能,下面我就不说废话了,直 ...
- 剑指Offer——如何做好自我介绍(英文版)
剑指Offer--如何做好自我介绍(英文版) Good morning ladies and gentlemen, my name is Sun Huaqiang, my hometown loc ...
- 物料分类新增&更新
--新增 INV_ITEM_CATEGORY_PUB.Create_Category ( p_api_version IN NUMBER, p_init_msg_list IN VARCHAR2 DE ...