码迷,mamicode.com
首页 > 编程语言 > 详细

关于jui框架的java web分页刷新功能实现!

时间:2014-09-04 09:40:57      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:blog   http   os   io   java   ar   for   数据   2014   

jsp页面部分代码:

头部:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 
 4       <%@ taglib prefix="s" uri="/struts-tags"%>
 5       <%@ page isELIgnored="false" %>
 6 <form id="pagerForm" method="post" action="infor/Name.do">
 7     <input type="hidden" name="pageNum" value="1" />
 8     <input type="hidden" name="numPerPage" value="${numPerPage}" />
 9     <input type="hidden" name="orderField" value="${orderField}" />
10     <input type="hidden" name="orderDirection" value="${orderDirection}" />
11 </form>

表格部分:

 1 <tbody>
 2         <s:iterator  value = "list">
 3             <tr target="sid_user" rel="1">
 4                 <td><input type="checkbox" name="ids" value="${id}"/></td>
 5                 <td>${nameID}</td>
 6                 <td>${name}</td>
 7                 <td>${moddate}</td>
 8                 <td>${modmanID}</td>
 9                 <td>${modmanName}</td>
10                 <td>
11                     <a title="编辑" target="dialog" href="infor/EditorName.do?flag=${id}" class="btnEdit" rel="EditorName">编辑</a>
12                 </td>
13             </tr>
14             </s:iterator>
15             
16         </tbody>

底边分页部分:

 1 <div class="panelBar">
 2         <div class="pages">
 3             <span>每页</span>
 4                 <select class="combox" name="numPerPage" onchange="navTabPageBreak({numPerPage:this.value})">
 5                 <option <s:if test="numPerPage==1">selected="selected"</s:if> value="1" >1</option>
 6                 
 7                 <option <s:if test="numPerPage==20">selected="selected"</s:if> value="20" >20</option>
 8                 <option <s:if test="numPerPage==50">selected="selected"</s:if> value="50">50</option>
 9                 <option <s:if test="numPerPage==100">selected="selected"</s:if> value="100">100</option>
10                 <option <s:if test="numPerPage==200">selected="selected"</s:if> value="200">200</option>
11             </select>
12             <span>条,共${totalCount}条</span>
13         </div>
14         <div class="pagination" targetType="${targetType}" totalCount="${totalCount}" numPerPage="${numPerPage}" pageNumShown="10" currentPage="${pageNum}"></div>
15     </div>

XML配置跳转(这个没必要参考):

<action name="Name" class="com.threegrand.www.information.action.Name" method="Name">
            <result  name="SUCCESS">/content/information/name.jsp</result>
        </action>

action层:

  1 import java.util.List;
  2 import java.util.Map;
  3 
  4 import javax.servlet.http.HttpServletRequest;
  5 
  6 import org.apache.struts2.ServletActionContext;
  7 
  8 import com.opensymphony.xwork2.ActionSupport;
  9 import com.threegrand.www.information.service.NameService;
 10 
 11 public class Name extends ActionSupport {
 12     NameService se = new NameService();
 13     private List<Map<String, Object>> list;
 14     private String name;
 15     
 16     private String specimen;
 17     private String nameID;
 18     private String moddate;
 19     private String modmanID;
 20     private String modmanName;
 21     public NameService getSe() {
 22         return se;
 23     }
 24     public void setSe(NameService se) {
 25         this.se = se;
 26     }
 27     public String getName() {
 28         return name;
 29     }
 30     public void setName(String name) {
 31         this.name = name;
 32     }
 33     public List<Map<String, Object>> getList() {
 34         return list;
 35     }
 36     public void setList(List<Map<String, Object>> list) {
 37         this.list = list;
 38     }
 39     public String getSpecimen() {
 40         return specimen;
 41     }
 42     public void setSpecimen(String specimen) {
 43         this.specimen = specimen;
 44     }
 45     public String getNameID() {
 46         return nameID;
 47     }
 48     public void setNameID(String nameID) {
 49         this.nameID = nameID;
 50     }
 51     public String getModdate() {
 52         return moddate;
 53     }
 54     public void setModdate(String moddate) {
 55         this.moddate = moddate;
 56     }
 57     public String getModmanID() {
 58         return modmanID;
 59     }
 60     public void setModmanID(String modmanID) {
 61         this.modmanID = modmanID;
 62     }
 63     public String getModmanName() {
 64         return modmanName;
 65     }
 66     public void setModmanName(String modmanName) {
 67         this.modmanName = modmanName;
 68     }
 69     
 70     /*
 71      * 分页刷新
 72      * 
 73     */
 74 
 75     private String loginName = "";
 76     private Integer pageNum=1;
 77     private Integer currentPage = 1; // 当前是第几页
 78     private String targetType="navTab"; // navTab或dialog,用来标记是navTab上的分页还是dialog上的分页
 79     private Integer totalCount=0; // 总条数
 80     private Integer numPerPage=20; // 每页显示多少条
 81     private Integer pageNumShown=10; // 页标数字多少个
 82     private Integer pageCount = 0; // 总页数
 83     private String orderField;
 84     private String orderDirection;
 85     public String getLoginName() {
 86         return loginName;
 87     }
 88     public void setLoginName(String loginName) {
 89         this.loginName = loginName;
 90     }
 91     public Integer getPageNum() {
 92         return pageNum;
 93     }
 94     public void setPageNum(Integer pageNum) {
 95         this.pageNum = pageNum;
 96     }
 97     public Integer getCurrentPage() {
 98         return currentPage;
 99     }
100     public void setCurrentPage(Integer currentPage) {
101         this.currentPage = currentPage;
102     }
103     public String getTargetType() {
104         return targetType;
105     }
106     public void setTargetType(String targetType) {
107         this.targetType = targetType;
108     }
109     public Integer getTotalCount() {
110         return totalCount;
111     }
112     public void setTotalCount(Integer totalCount) {
113         this.totalCount = totalCount;
114     }
115     public Integer getNumPerPage() {
116         return numPerPage;
117     }
118     public void setNumPerPage(Integer numPerPage) {
119         this.numPerPage = numPerPage;
120     }
121     public Integer getPageNumShown() {
122         return pageNumShown;
123     }
124     public void setPageNumShown(Integer pageNumShown) {
125         this.pageNumShown = pageNumShown;
126     }
127     public Integer getPageCount() {
128         return pageCount;
129     }
130     public void setPageCount(Integer pageCount) {
131         this.pageCount = pageCount;
132     }
133     public String getOrderField() {
134         return orderField;
135     }
136     public void setOrderField(String orderField) {
137         this.orderField = orderField;
138     }
139     public String getOrderDirection() {
140         return orderDirection;
141     }
142     public void setOrderDirection(String orderDirection) {
143         this.orderDirection = orderDirection;
144     }
145     
146     public String Name(){
147         page();
148         list= se.pagination(loginName,pageNum,numPerPage,orderField,orderDirection);
149         return "SUCCESS";
150     } 
151     
152     public void page() {
153         totalCount = se.getCout(loginName);
154         pageCount = totalCount % numPerPage == 0 ? totalCount / numPerPage: totalCount / numPerPage + 1;
155     }
156     
157     

service层:

 1 import java.sql.Connection;
 2 import java.sql.PreparedStatement;
 3 import java.sql.ResultSet;
 4 import java.sql.SQLException;
 5 import java.util.ArrayList;
 6 import java.util.List;
 7 import java.util.Map;
 8 
 9 import javax.servlet.http.HttpServletRequest;
10 import org.apache.struts2.ServletActionContext;
11 import com.threegrand.www.utils.DBUtil;
12 
13 public class NameService {
14     DBUtil db = new DBUtil();
15     List<Map<String,Object>> list;
16     /*
17      * 分页刷新
18      * 
19     */
20     
21     private Connection conn=null;
22     private PreparedStatement ps=null;
23     private ResultSet rs=null;
24 
25     public Integer getCout(String name) {
26         int count=0;
27         try {
28             String sql="select count(1) from name where 1=1 and name like ?";
29             conn=db.getConnection();
30             ps=conn.prepareStatement(sql);
31             ps.setString(1,"%"+name+"%");
32             rs=ps.executeQuery();
33             if(rs.next()){
34                 count=rs.getInt(1);
35             }
36             
37         } catch (SQLException e) {
38             e.printStackTrace();
39         }finally{
40             try {
41                 if (rs != null) {
42                     rs.close();
43                 }
44                 if (ps != null) {
45                     ps.close();
46                 }
47                 if (conn != null) {
48                     conn.close();
49                 }
50             } catch (SQLException e) {
51                 e.printStackTrace();
52             }
53         }
54         return count;
55     }
56     public List<Map<String, Object>> pagination(String name,Integer currentPage,Integer numPerPage,String orderField,String orderDirection){
57         
58         String sql="SELECT id,specimen,nameID,name,moddate,modmanID,modmanName FROM name WHERE name LIKE ‘%%‘ limit "+(currentPage-1)*numPerPage +","+numPerPage;
59         if(orderField!=null&&!"".equals(orderField)){
60             sql="SELECT id,specimen,nameID,name,moddate,modmanID,modmanName FROM name WHERE name LIKE ‘%%‘ order by "+orderField+" "+orderDirection+" limit "+(currentPage-1)*numPerPage +","+numPerPage;
61             
62         }
63         
64         list=db.queryToList(sql);
65         
66         return list;
67         
68         
69     }
70     

以上内容也是本人参考别人供源的代码作为参考写的,可能不是完全理解,但对比人的代码做了简化,去掉了dao层和model层。

附数据库内容:

bubuko.com,布布扣

下面是效果图:

bubuko.com,布布扣

 

关于jui框架的java web分页刷新功能实现!

标签:blog   http   os   io   java   ar   for   数据   2014   

原文地址:http://www.cnblogs.com/woleicom/p/3955292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!