JFinal分页paginate

分页的SQL语句

mysql数据库,可以采用limit语句进行分页。

oracle数据库,可以采用rownum的方式进行分页。

JFinal自带分页

对象.dao.paginate(pageNumber,pageSize,select,sqlException)

//pageNumber 第几页

//pageSize 一页几条记录

 

controller的某个方法:

 

int pageNumber;   		 //p为指定跳转的页面
		if(getParaToInt("pn")==null) //前端通过pn传参
		int pageSize;  			//指定每一页的显示数量
		if(getParaToInt("ps")==null) //对一页的数量的参数进行处理
		
		Page list4 = Order.dao.paginate(pageNumber, pageSize,"select *", "from scjhgl_xsdd");  //所有订单
		int x=list4.getTotalPage();  //共展示的页数
		int y=list4.getPageSize();   //页码的大小
		int z=list4.getTotalRow();   //数据库中数据总共的条数
		
		String skip="";
		for(int q=1;q<=x;q++)
		{
			skip=skip+""+q+"" ;  //循环把链接输出 1 2 3 ,    空格,传ps参数是避免修改pageSize后恢复页面数改变
		}
		setAttr("iteration4", list4);     //设置iteration4集合供前端页面获取数据库数据
		setAttr("pn",pageNumber);   //当前页面号供前端获取
		setAttr("TotalPage",x);
		setAttr("PageSize",y);
		setAttr("TotalRow",z);
		setAttr("skip",skip);  //数字链接
		renderFreeMarker("ddxi.html");

 

前端如果使用的是jsp页面可以如下显示:

 

controller可以如下:

		Integer pageNumber = getParaToInt("pageNumber");
		if(pageNumber=null) pageNumber=1;
		Page list4 = Order.dao.paginate(pageNumber, 5,"select *", "from scjhgl_xsdd");  //所有订单
		setAttr("iteration4",list4);
		render("ddxi.jsp");

-------------------------------------------------------------------------------------------------

突然发现JFinal分页的问题有这么多人搜索,看了下阅读量两千多了。。。

由于要考研,已经有段时间没有写前端的代码了,这里给大家分享当初学JFinal时看的学习视频链接:

链接: https://pan.baidu.com/s/1nvRVPm5 密码: 1234

我后来的分页是用JQuery写的,现在前端的主流搭配应该是HTML+JQuery,就算要使用jsp也可以搭配JQuery,所以分页完全可以使用JQuery来实现,代码也给大家分享下:

审核新闻
序号 文章标题 录入时间 栏目 录入者 操作

 

 

public void SH(){
		Page dataPage= Db.paginate(getParaToInt("pageNumber", 1), 5, "SELECT *","FROM t_news where state=0");   // t_news表所有未审核数据
		 List acc = Account.dao.find("select * from t_user");     	// 用户表所有信息,这里审核应该列出所有用户的信息
		 Map map1= new HashMap();
			map1.put("paginate", dataPage);
			map1.put("account", acc);
			List data = new ArrayList();
			data.add(map1);
			renderJson(data);
	}






你可能感兴趣的:(JFinal,Frame)