java代码动态分页 javaweb实现分页

java代码如何实现分页功能?。。。∏敫呤职锩?..//============分页功能===============
int pageSize=3; //一页显示几条记录
int pageNow=1;//希望显示第几条记录
//动态的接收pageNow
String sPageNow=req.getParameter("pageNowok");
if(sPageNow!=null){
pageNow=Integer.parseInt(sPageNow);
}
//调用UserBeanC1
UserBeanC1 ubc = new UserBeanC1();
ArrayList al =ubc.getResultByPage(pageNow,pageSize);
pw.println("table border=2");
pw.println("trthid/ththname/ththpasswd/ththmail/ththgrade/thth修改用户/thth删除用户/th/tr");
for(int i=0;ial.size();i){
UserBean ub = (UserBean)al.get(i);
pw.println("tr");
pw.println("td" ub.getUserId() "/td");
pw.println("td" ub.getUserName() "/td");
pw.println("td" ub.getPasswd() "/td");
pw.println("td" ub.getMail() "/td");
pw.println("td" ub.getGrade() "/td");
pw.println("tda href=https://www.04ip.com/post/??修改/a/td");
pw.println("tda href=https://www.04ip.com/post/delUserC1?userId=" ub.getUserId() " onclick=\"return window.confirm('确认删除吗')\"删除/a/td");
pw.println("/tr");
}
pw.println("/table");
//上一页
if(pageNow!=1){
pw.println("a href=https://www.04ip.com/post/wel?pageNowok=" (pageNow-1) "上一页/a");
}
//显示超链接
for(int i=pageNow;i=pageNow pageSize 1;i){
pw.println("a href=https://www.04ip.com/post/wel?pageNowok=" i "" i "/a");
}
int pageCount=ubc.getPageCount();
//下一页
if(pageNow!=pageCount-4){
pw.println("a href=https://www.04ip.com/post/wel?pageNowok=" (pageNow 1) "下一页/abr");
}
pw.println("br该网页被访问了" this.getServletContext().getAttribute("visitTimes").toString() "次br");
pw.println("您的IP地址是:" req.getRemoteAddr() "br");
pw.println("您的机器名是:" req.getRemoteHost() "br");
pw.println("/centerhrimg src=https://www.04ip.com/post/imgs/1.gifbr");
pw.println("/body");
请高人讲解java ajax实现分页的思路用ajax分页,那么你的重点就不是Java了,
你需要掌握非常好的javascript,或者是js的类库(jquery,dojo)
后台的Java代码是和平常的分页逻辑是一样的
只是页面的代码不一样
以Jquery为例
假如这个是按下的连接
a href="https://www.04ip.com/post/#" onclick="subpage(${xxx})"xxx/a
//${}可以使EL表达式,或者是JSTL、OGNL , 使用这个来动态确定分页的页码
function subpage(pagenum){
$.ajax({
url:"分页链接地址",
type:"POST",
data:"pagenum=" pagenum;
success:function(data){//data是分页后的数据 , 推荐json形式
...这里是数据返回后对页面的响应代码
...也就是你页面的变动,在这个需要的是你的js功底来控制表格
...的变动 ,
}
});
}
怎样用java实现分页显示实现原理很简单,就是建立一个Page类,里面放当前访问的页数和每一页显示的记录行数 。然后通过分页计算就可以得出下列数据 。
总页数 = 总记录数/每页大小,如果0!=总记录数%每页大?。敲醋芤呈?1 。
当前页数 。
表记录的起始位置=(当前页数-1)*每页大小 。
总记录数(select count(*) from [表名] [where [条件]] 。从数据库中查询得到)
每页大小,可以固定,也可以从页面传过来有了这几个参数之后,就用sql语句查出对应的记录就可以了 。
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言 。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性 , 广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群 。
它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题 。
由于这些智能化家电的市场需求没有预期的高 , Sun放弃了该项计划 。就在Oak几近失败之时 , 随着互联网的发展 , Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布 。
Java的主要工作是通过编程语言来制作互联网页面、制作动态效果以及网站等技术 。
怎样用java实现分页显示,该怎么解决在项目中,分页是一个项目中必不可少的,它可以防止我们从数据库中进行大量数据查询时速度变慢,提高我们的查询效率
1、定义分页模型:PageModel
package com.common.page;
import java.util.List;
/**
* 封装分页信息
* @author Administrator
*
*/
public class PageModelE {
//结果集
private ListE list;
//查询记录数
private int totalRecords;
//每页多少条数据
private int pageSize;
//第几页
private int pageNo;
/**
* 总页数
* @return
*/
public int getTotalPages() {
return (totalRecordspageSize - 1) / pageSize;
}
/**
* 取得首页
* @return
*/
public int getTopPageNo() {
return 1;
}
/**
* 上一页
* @return
*/
public int getPreviousPageNo() {
if (pageNo = 1) {
return 1;
}
return pageNo - 1;
}
/**
* 下一页
* @return
*/
public int getNextPageNo() {
if (pageNo = getBottomPageNo()) {
return getBottomPageNo();
}
return pageNo1;
}
/**
* 取得尾页
* @return
*/
public int getBottomPageNo() {
return getTotalPages();
}
public ListE getList() {
return list;
}
public void setList(ListE list) {
this.list = list;
}
public int getTotalRecords() {
return totalRecords;
}
public void setTotalRecords(int totalRecords) {
this.totalRecords = totalRecords;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
}
2、分页测试:在MySQL中建立admin表,里面有字段id、name、password
3、简历Admin的实体bean类:
package com.common.page;
public class Admin {
private int id;
private String name;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
4、测试调用:package com.common.page;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.common.db.DbUtil;
public class Client {
public static PageModel findAdmins(int pageNo,int pageSize){
Connection conn=DbUtil.getConnection();
String sql="select * from admin limit ?,?";
PageModel pageModel=null;
PreparedStatement pstm=null;
ResultSet rs=null;
Admin admin=null;
ListAdmin list=new ArrayListAdmin();
try {
pstm=conn.prepareStatement(sql);
pstm.setInt(1, (pageNo-1)*pageSize);
pstm.setInt(2, pageNo*pageSize);
rs=pstm.executeQuery();;
while(rs.next()){
admin=new Admin();
admin.setId(rs.getInt("a_id"));
admin.setName(rs.getString("a_name"));
admin.setPassword(rs.getString("a_pwd"));
list.add(admin);
}
ResultSet rs2=pstm.executeQuery("select count(*) from admin");
int total=0;
if(rs2.next()){
total=rs2.getInt(1);
}
pageModel=new PageModel();
pageModel.setPageNo(pageNo);
pageModel.setPageSize(pageSize);
pageModel.setTotalRecords(total);
pageModel.setList(list);
} catch (SQLException e) {
e.printStackTrace();
}finally{
DbUtil.close(conn);
DbUtil.close(pstm);
DbUtil.close(rs);
}
return pageModel;
}
public static void main(String[] args) {
PageModel pageModel=Client.findAdmins(2,4);
ListAdmin list=pageModel.getList();
for(Admin a:list){
System.out.print("ID:" a.getId() ",用户名:" a.getName() ",密码:" a.getPassword());
System.out.println();
}
System.out.print("当前页:" pageModel.getPageNo() " ");
System.out.print("共" pageModel.getTotalPages() "页");
System.out.print("首页:" pageModel.getTopPageNo() " ");
System.out.print("上一页:" pageModel.getPreviousPageNo() " ");
System.out.print("下一页:" pageModel.getNextPageNo() " ");
System.out.print("尾页:" pageModel.getBottomPageNo() " ");
System.out.print("共" pageModel.getTotalRecords() "条记录");
System.out.println();
}
}
这样分页效果就实现了,我们要实现分页效果 , 只要传入相应的参数和相应的数据库执行语句即可实现,希望大家能灵活运用 。
【java代码动态分页 javaweb实现分页】java代码动态分页的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javaweb实现分页、java代码动态分页的信息别忘了在本站进行查找喔 。

    推荐阅读