急需mysql数据库分页代码 请高手们写个完整点的代码 小弟万分感激
解决方案 »
- ztree中获取数据问题($.post中能给参数赋值吗) 急
- IE无法显示JfreeChart生成的png图片??
- 求助!Linux下运行的Java程序怎么不能删除文件啊 ?
- 求解:一段在firefox能正常运行,在IE、360等浏览器上却不能正常运行
- 在tomcat里添加虚拟目录,之后不能启动tomcat
- SQLserver 与 JDK的链接
- JSF中的ManagedBean的实例如何获取?
- mybatis 批量插入,返回自增主键的主键值
- 如何在提交JSP页面之前把页面中的表单元素(如文本框)的值付给java变量??
- jsp里调用bean sql查询oracle出错,在线等待,语句如下,去掉空格
- 如何设置我写的工程的主页,虚心求教!!
- java基础
可以直接调用框架的API,
不需要在数据库上操作分页
<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="../error.jsp" %>
<script language="JavaScript"><!--
function Jumping(){
document.PageForm.submit();
return ;
}function gotoPage(pagenum){
document.PageForm.jumpPage.value = pagenum;
document.PageForm.submit();
return ;
}-->
</script>每页<%=pageCtl.rowsPerPage%>行
共<%=pageCtl.maxRowCount%>行
第<%=pageCtl.curPage%>页
共<%=pageCtl.maxPage%>页
<BR>
<%if(pageCtl.curPage==1){ out.print(" 首页 上一页"); }else{ %>
<A HREF="javascript:gotoPage(1)">首页</A>
<A HREF="javascript:gotoPage(<%=pageCtl.curPage-1%>)">上一页</A>
<%}%>
<%if(pageCtl.curPage==pageCtl.maxPage){ out.print("下一页 尾页"); }else{ %>
<A HREF="javascript:gotoPage(<%=pageCtl.curPage+1%>)">下一页</A>
<A HREF="javascript:gotoPage(<%=pageCtl.maxPage%>)">尾页</A>
<%}%>
转到第<SELECT name="jumpPage" onchange="Jumping()">
<% for(int i=1;i<=pageCtl.maxPage;i++) {
if (i== pageCtl.curPage){
%>
<OPTION selected value=<%=i%>><%=i%></OPTION>
<%}else{%>
<OPTION value=<%=i%>><%=i%></OPTION>
<%}}%>
</SELECT>页
* 执行Mysql分页
* 在页面中引用<%@include file="page.jsp" %>即可
* @param sql
* 传入的sql语句
* @param request
* 传入的request
*@param pagesize
*传入分页大小如默认10条每页
* @return
* 返回数据集List结果,每条记录以Map存储(key,value)key为数据库表中字段名,均小写
*/
public List getMysqlPageList(String sql, HttpServletRequest request, int pagesize) {
Page page = new Page();
if (pagesize!=-1)
page.setPagesize(pagesize);
page.setRscount(executeCount(sql));
page.execute(request);//生成分页工具条pagetool
String newsql=sql +" LIMIT "+(page.getCurrentpage()-1)*page.getPagesize() +","+ page.getPagesize();
List list = executeQuery(newsql);
return list;
}
public class Page {
// 分页相关变量
private int currentpage = 1; // 当前是第几页 private int pagecount = 0; // 一共有多少页 private int rscount = 0; // 一共有多少行 private int pagesize = GGS.PAGESIZE; // 每页有多少行[默认为5行] private HttpServletRequest request;// 传入request 计算当前页 /**
* 空构造
*/
public Page() { } public int getCurrentpage() {
return currentpage;
} public void setCurrentpage(int currentpage) {
this.currentpage = currentpage;
} public int getPagecount() {
return pagecount;
} public void setPagecount(int pagecount) {
this.pagecount = pagecount;
} public int getRscount() {
return rscount;
} public void setRscount(int rscount) {
this.rscount = rscount;
} public int getPagesize() {
return pagesize;
} public void setPagesize(int pagesize) {
this.pagesize = pagesize;
} /**
* 获取总页数
*
* @return int
*/
public int getPageCount() {
try {
this.pagecount = ((this.rscount - 1) / this.pagesize) + 1;
} catch (Exception ex) {
this.pagecount = 0;
}
return this.pagecount;
}
/**
* 获取当前页码的设置
*
* @return int
*/
private int getCurrentPage() {
try {
if (request.getParameter("currentpage") != null
&& Integer.parseInt(request.getParameter("currentpage")) > 1) {
this.currentpage = Integer.parseInt(request
.getParameter("currentpage"));
} else {
this.currentpage = 1;
}
} catch (Exception ex) {
this.currentpage = 1;
}
return this.currentpage;
}
/**
* 把request里的参数 生成 &username=admin&password=123
*
*/ private String getParams() {
Enumeration paramnames = request.getParameterNames();
StringBuffer sb = new StringBuffer();
while (paramnames.hasMoreElements()) {
String paramname = (String) paramnames.nextElement();
if (paramname.equals("currentpage"))
continue;
String[] paramvalues = request.getParameterValues(paramname);
if (null != paramvalues) {
for (int i = 0; i < paramvalues.length; i++) {
sb.append("&" + paramname + "=" + paramvalues[i]);
} } } return sb.toString();
} /**
* 执行分页
* @param sql
* 传入的sql语句
* @param request
* 传入的request
* @return
* 返回数据集结果
*/
public void execute( HttpServletRequest request) {
this.request = request;
// 加上上下文路径
String filepath ="";
filepath = request.getRequestURI()+"?"+getParams();
// 获取当前页
this.getCurrentPage();
// 计算总页数
this.getPageCount();
//保存变量至request
Map ggspage = new HashMap();
ggspage.put("currentpage", this.getCurrentpage());
ggspage.put("url", filepath);
ggspage.put("page_count", this.getPagecount());
ggspage.put("rs_count", this.getRscount());
ggspage.put("page_size", this.getPagesize());
request.setAttribute("ggspage", ggspage);
} public HttpServletRequest getRequest() {
return request;
} public void setRequest(HttpServletRequest request) {
this.request = request;
}
}