struts2 derby paging 分页
来源:互联网 发布:枪神纪刷枪软件大全 编辑:程序博客网 时间:2024/06/06 08:49
1.package com.tian.web.action;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.apache.derby.client.am.Connection;
import org.apache.derby.client.am.ResultSet;
import org.apache.derby.client.am.Statement;
import com.googlecode.jsonplugin.annotations.JSON;
import com.opensymphony.xwork2.Action;
import com.tian.web.model.InfoIssue;
import com.tian.web.utils.PageBean;
public class InfoIssueAction extends PageBean implements Action {
List<InfoIssue> rows = new ArrayList<InfoIssue>();
@Override
public String execute() {
Connection conn = null;
try {
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
conn = (Connection) DriverManager.getConnection(
"jdbc:derby://localhost:1527/paging;create=true", "user", "user");
String strSql = "select count(*) from app.issue ";
Statement stat = (Statement) conn.createStatement();
ResultSet rs = (ResultSet) stat.executeQuery(strSql);
while (rs.next()) {
//get total count
total = rs.getInt(1);
}
//count total pages
totalpage = (total + pageSize - 1) / pageSize;
String strPaing = "SELECT * FROM ( SELECT ROW_NUMBER() OVER() AS rownum, app.issue.* FROM app.issue) AS tmp WHERE rownum > "
+ (pageNow * pageSize - pageSize)
+ " AND rownum <= "
+ (pageNow * pageSize) + " ";
rs = (ResultSet) stat.executeQuery(strPaing);
while (rs.next()) {
InfoIssue ii = new InfoIssue();
ii.setIssueid(rs.getInt("issueid"));
ii.setCaption(rs.getString("caption"));
ii.setMaketop(rs.getString("maketop"));
ii.setIssue(rs.getString("issued"));
rows.add(ii);
}
} catch (Exception e) {
return ERROR;
} finally {
try {
if (conn != null) {
conn.close();
}
System.out.print("error");
} catch (SQLException e) {
}
}
return SUCCESS;
}
public static void main(String[] args) throws Exception {
InfoIssueAction iia = new InfoIssueAction();
iia.execute();
}
@JSON(name = "rows")
public List<InfoIssue> getRows() {
return rows;
}
public void setRows(List<InfoIssue> rows) {
this.rows = rows;
}
}
2.package com.tian.web.utils;
public class PageBean {
protected int pageSize = 10;
protected int pageNow = 1;
protected int total;
protected int totalpage;
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageNow() {
return pageNow;
}
public void setPageNow(int pageNow) {
this.pageNow = pageNow;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getTotalpage() {
return totalpage;
}
public void setTotalpage(int totalpage) {
this.totalpage = totalpage;
}
}
3.<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!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">
<link rel="stylesheet" type="text/css"
href="<%request.getContextPath();%>/css/flexigrid.css"></link>
<script type="text/javascript"
src="<%request.getContextPath();%>/js/jquery-1.3.2.js"></script>
<script type="text/javascript"
src="<%request.getContextPath();%>/js/page/flexigrid.js"></script>
<title>Paging Jquery Flexigrid</title>
</head>
<body>
total size:
<s:property value="total" />
<br />
page now:
<s:property value="pageNow" />
<br />
<s:iterator value="rows">
<s:property value="issueid" />
<s:property value="caption" />
<s:property value="maketop" />
<s:property value="issue" />
<br />
</s:iterator>
<s:url id="url_pre2" value="infoIssue.action">
<s:param name="pageNow" value="pageNow-2"></s:param>
</s:url>
<s:url id="url_next2" value="infoIssue.action">
<s:param name="pageNow" value="pageNow+2"></s:param>
</s:url>
<s:url id="url_pre" value="infoIssue.action">
<s:param name="pageNow" value="pageNow-1"></s:param>
</s:url>
<s:url id="url_next" value="infoIssue.action">
<s:param name="pageNow" value="pageNow+1"></s:param>
</s:url>
<s:set name="pageNow" value="pageNow"></s:set>
<s:set name="totalpage" value="totalpage"></s:set>
<s:if test="#pageNow > 1 ">
<s:a href="%{url_pre}">Pre</s:a>
</s:if>
<s:else>
Pre
</s:else>
<s:if test="#pageNow > 2 ">
<s:a href="%{url_pre2}">
<s:property value="pageNow-2" />
</s:a>
</s:if>
<s:if test="#pageNow > 1 ">
<s:a href="%{url_pre}">
<s:property value="pageNow-1" />
</s:a>
</s:if>
<s:property value="pageNow" />
<s:if test="#pageNow < #totalpage">
<s:a href="%{url_next}">
<s:property value="pageNow+1" />
</s:a>
</s:if>
<s:if test="#pageNow < #totalpage-1">
<s:a href="%{url_next2}">
<s:property value="pageNow+2" />
</s:a>
</s:if>
<s:if test="#pageNow < #totalpage">
<s:a href="%{url_next}">Next</s:a>
</s:if>
<s:else>
Next
</s:else>
</body>
</html>
4.package com.tian.web.model;
public class InfoIssue implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1147469609838504419L;
private int issueid;
private String caption;
private String maketop;
private String issue;
public int getIssueid() {
return issueid;
}
public void setIssueid(int issueid) {
this.issueid = issueid;
}
public String getCaption() {
return caption;
}
public void setCaption(String caption) {
this.caption = caption;
}
public String getMaketop() {
return maketop;
}
public void setMaketop(String maketop) {
this.maketop = maketop;
}
public String getIssue() {
return issue;
}
public void setIssue(String issue) {
this.issue = issue;
}
}
5.sql
CREATE TABLE APP.GLOSSARY
(TERM_ID INT NOT NULL GENERATED ALWAYS AS IDENTITY
(start WITH 1, INCREMENT BY 1),
TERM VARCHAR(80) NOT NULL,
DEFINITION VARCHAR(500) NOT NULL);
INSERT INTO APP.GLOSSARY VALUES (DEFAULT,'Velocity','Rapidity or speed of motion; specifically, the distance traveled per unit time.');
INSERT INTO APP.GLOSSARY VALUES (DEFAULT,'Value','Monetary or material worth.');
INSERT INTO APP.GLOSSARY VALUES (DEFAULT,'Speed','The magnitude of a velocity.');
INSERT INTO APP.GLOSSARY VALUES (DEFAULT,'Agile','Characterized by quickness, lightness, and ease of movement; nimble.');
CREATE TABLE APP.ISSUE
(issueid INT NOT NULL GENERATED ALWAYS AS IDENTITY
(start WITH 1, INCREMENT BY 1),
caption VARCHAR(80) NOT NULL,
maketop VARCHAR(500) NOT NULL,
issued VARCHAR(500) NOT NULL);
INSERT INTO APP.ISSUE VALUES (DEFAULT,'captionA','makeTopA','issuedA');
INSERT INTO APP.ISSUE VALUES (DEFAULT,'captionB','makeTopB','issuedB');
INSERT INTO APP.ISSUE VALUES (DEFAULT,'captionC','makeTopC','issuedC');
INSERT INTO APP.ISSUE VALUES (DEFAULT,'captionD','makeTopD','issuedD');
INSERT INTO APP.ISSUE VALUES (DEFAULT,'captionE','makeTopE','issuedE');
INSERT INTO APP.ISSUE VALUES (DEFAULT,'captionA','makeTopA','issuedA');
INSERT INTO APP.ISSUE VALUES (DEFAULT,'captionB','makeTopB','issuedB');
INSERT INTO APP.ISSUE VALUES (DEFAULT,'captionC','makeTopC','issuedC');
INSERT INTO APP.ISSUE VALUES (DEFAULT,'captionD','makeTopD','issuedD');
INSERT INTO APP.ISSUE VALUES (DEFAULT,'captionE','makeTopE','issuedE');
INSERT INTO APP.ISSUE VALUES (DEFAULT,'captionA','makeTopA','issuedA');
INSERT INTO APP.ISSUE VALUES (DEFAULT,'captionB','makeTopB','issuedB');
- struts2 derby paging 分页
- Derby数据库分页语句
- Derby数据库分页查询
- derby SQL 分页问题
- derby分页查询
- 分页(Paging) / SQL Server / Oracle
- 分页(Paging) / SQL Server / Oracle
- 分页(Paging) / SQL Server / Oracle
- 分页(Paging) / SQL Server / Oracle
- YII分页类 paging[CLinkPager]
- cassandra paging 分页方法应用
- ExtJS实现分页grid paging
- derby数据库分页的实现
- Solr Deep Paging(solr 深分页)
- paging
- paging
- derby
- Derby
- Table内容换行,省略方法.
- bookmarks in VIM
- AutoComplete实现关键字提示
- 请勿误读中国的善意
- Windows mobile UI
- struts2 derby paging 分页
- Foxmail的IMAP很好用
- moto a1200 gps
- 开公司的手续过程
- 使用jquery智能感知的方法
- C/C++程序员应聘常见面试题深入剖析(1)
- 【电动汽车】
- RGB配色表
- 新手网站优化的感慨