`

比较笨的分页方法

阅读更多
Java:
sql += " order by id desc,addtime desc";
		System.out.println("sql="+sql);
		String tmp = this.getExpenseService().getCount("Expense", sql);
		
		if(tmp==null){
			tmp = "0";
		}
		String first = request.getParameter("first");
		String up = request.getParameter("up");
		String down = request.getParameter("down");
		String last = request.getParameter("last");
		String page = request.getParameter("page");
		
//		int count = Integer.valueOf(tmp);
		int count=Integer.parseInt(tmp);
		int max = 0;
		int pagePer=10;
		if (count % pagePer != 0) {
			max = count / pagePer + 1;
		} else {
			max = count / pagePer;
		}
		if (request.getParameter("page") == null) {
			page = "1";
		}
		int page2 = Integer.parseInt(page) - 1;
		if (down != null) {
			page2 += 1;
		}
		if (up != null) {
			page2 -= 1;
		}
		if (first != null) {
			page2 = 0;
		}
		if (last != null) {
			page2 = max - 1;
		}
		if (page2 > max - 1) {
			page2 = max - 1;
		}
		if (page2 < 0) {
			page2 = 0;
		}
		if (count < pagePer) {
			page2 = 0;
		}
		List list = this.getExpenseService().getListByHQL("Expense",page2*pagePer,pagePer,sql);
		System.out.println("list.size="+list.size());
		request.setAttribute("page", page2 + 1 + "");
		request.setAttribute("totel", count + "");
		request.setAttribute("list", list);

html:
<%
				String pager = (String) request.getAttribute("page");
				String totel = (String) request.getAttribute("totel");
				String total = (String) request.getAttribute("total");
				if (pager == null) {
					pager = "1";
				}
				if (totel == null) {
					totel = "0";
				}
				if (total == null) {
					total = "0";
				}
				%>
				<table width="80%" border="0" cellpadding="0" cellspacing="0" bordercolor="#4DB0E7"  align="center">
					<tr bgcolor="#FFFFFF">
						<td width="17%">总记录 <font color='red' ><%=totel%></font> 条 
							<input class="button_y" name="first" type="submit" value="首页">
							<input class="button_y" name="up" type="submit" value="上一页"> 
							<input class="button_y" name="down" type="submit" value="下一页"> 
							<input class="button_y" name="last" type="submit" value="末页">
						</td>
						<td width="17%">当前页为第 
							<input style="text-align: center" type="text" size="2" name="page" value=<%=pager%> readonly="readonly" /> &nbsp页
						</td>
					</tr>
				</table> 
分享到:
评论

相关推荐

    实现repeater控件分页

    ### 实现Repeater控件分页 在.NET框架下,使用C#语言进行Web开发时,经常...这种方法不仅适用于初学者学习掌握,也是实际项目中常用的一种数据分页实现方式。希望本文能够帮助到正在学习或工作中遇到类似需求的朋友。

    JAVA分页显示代码

    `getall`方法中,使用了CallableStatement来调用存储过程(`Ture_Page`),存储过程通常包含SQL查询和分页逻辑。这个存储过程接收三个参数:每页条数(`everpage`)、当前页码(`pagecount`)以及字段排序信息。在...

    mybatis-plus分页传入参数后sql where条件没有limit分页信息操作

    折腾了差不多两个小时,各种方法尝试,后来想想应该是where过滤后的数据量没有达到默认一页规定的数量所以干脆where就不显示limit信息了,试了一下还真是。。。这作者还真是把程序做的足够智能,可是这个智能也让我...

    TabLayout+ViewPager+Fragment实现分页滑动效果Demo

    在这个类中,你需要覆写`getCount()`方法返回页面数量,以及`getItem(int position)`方法返回指定位置的`Fragment`实例。 5. **连接TabLayout和ViewPager**:在`MainActivity`中,初始化`TabLayout`和`ViewPager`,...

    C#开发资料

    “C#日期格式化_编程日记.htm”涵盖了C#中的DateTime类和相关方法,如ToString(),用于将日期和时间对象格式化为各种格式,满足不同的显示需求。 6. **用户界面设计与滚动条** “求助:关于div……-div层的滚动条...

    Struts2 Spring hibernate 国际化 表单验证 安全退出

    这是之前分页的升级版 带国际化 表单验证 用户登录 安全退出 功能都实现了就是不太美观 开发环境 myeclipse6.0 jdk1.6 Tomcat6.0 sql2000 数据库也放到里面了 在db文件夹下 库文件不变 这里就不附带了log.jsp或者log...

    巧妙解决Oracle NClob读写问题(经验分享)

    最近一个新项目中,尝试在 Oracle 数据库中使用 NCLOB 来保存大的 xml 字符串。 在代码自动生成工具(通过 JDBC 驱动程序,读数据库表结构,自动生成...也有提到用 setStringForClob 方法的,也比较笨。 最后在 Orac

    关于word文档双面打印装订成册的页码问题.pdf

    在安排内容部分各分栏页码时,我们可以使用最笨的方法,即先用 24 页空白小纸骑马式装订成册,然后除去目录页正反两面不写上页码外,其余页按顺序在每页上写好页码。这样可以明确每一个页面的页码是如何安排的。 ...

    自己动手写的AJAX的小程序

    作者自谦说“比较笨”,实际上这可能是为了表达自己对这个技术投入了大量的时间和精力,以及学习过程中的挑战。 **标签解析:** "AJAX"标签明确了本文档的核心内容,将聚焦于AJAX的相关知识,包括但不限于AJAX的...

    listViewDemo

    - 数据分页:对于大数据量的列表,可以采用分页加载,只加载当前可视区域的数据,避免一次性加载所有数据导致内存压力过大。 - 动态加载图片:针对列表中的图片,可以使用像Picasso或Glide这样的库来实现图片的...

    springDataJPA:弹簧数据-jpa

    - **JpaRepository**:这是Repository接口的扩展,包含了更多默认的查询方法,如按ID查找、分页等。 - **Querydsl**:Spring Data JPA可以与Querydsl结合使用,提供类型安全的查询方式。 - **JPA Specifications*...

    获取手机邮件联系人

    - 对于大量联系人,考虑使用分页加载或者懒加载策略,只加载可视范围内的数据。 综上所述,获取手机邮件联系人并显示在Dialog中涉及到Android的ContentResolver、ContactsContract、Cursor、Dialog、Adapter等多个...

    gatsby-tech-blog:盖茨比で作成したブログ

    网络性能测试灯塔报告 视觉比较快速开始创建一个盖茨比网站使用Gatsby CLI创建一个新站点,并指定流明启动器。 # Create a new Gatsby site using the Lumen startergatsby new blog ...

    Developer Express .NET v7.2 - ASPxGridView Demo

    2. 分页、排序和过滤:用户可以通过内置的分页、排序和过滤功能对数据进行交互式操作,无需编写大量代码。 3. 编辑和验证:支持多种编辑模式(如弹出式编辑、行内编辑等),并提供字段级别的数据验证,确保输入的...

    bootstraphelpers:一堆有用的 HtmlHelpers 包装引导程序控件

    除了基础组件,BootstrapHelpers 还可能包含对高级功能的支持,比如时间选择器、日期选择器、分页器等,这些都是 Bootstrap 原生不提供的,但对许多 Web 应用来说是必不可少的。这些扩展方法简化了与后端数据绑定的...

    mattsblog:基于Gatbsy的网站,基于Lumen入门包

    方法。 按标签和类别组织的存档。 分页支持。 支持。 谷歌分析。 Disqus评论。 静态类型检查。 网络性能测试 灯塔报告 视觉比较 快速开始 创建一个盖茨比网站 使用Gatsby CLI创建一个新站点,并指定流明启动...

    图片依次进入内容区域,幻灯片

    此外,为了增加用户体验,幻灯片组件通常包含导航箭头和分页指示器。用户可以通过点击这些元素手动切换图片。jQuery可以轻松地添加事件监听器,处理用户的交互操作。例如,`.click()`方法可以绑定点击事件,而`....

    contenteditableInput:可以插入表情的输入框(微信交替表情)

    此外,为了实现交替显示表情,我们可以创建一个表情面板,包含多个表情分页,当用户切换分页时,更新表情面板上的表情集合。这可以通过JavaScript来控制显示和隐藏不同的表情列表实现。 ```javascript // 假设有...

    django book

    - **在视图中进行数据库查询的笨方法** - 直接在视图中写 SQL 查询是不可取的。 - **MTV 开发模式** - Model-Template-View 模式是 Django 推荐的开发方式。 - **数据库配置** - 在 settings.py 文件中配置数据库...

    FlowLableSearchHistory-master.zip

    Adapter通常继承自`RecyclerView.Adapter`,需要重写`onCreateViewHolder`、`onBindViewHolder`和`getItemCount`方法,以创建并填充ViewHolder,以及处理数据集合。 ViewHolder则是一个持有界面元素引用的类,它...

Global site tag (gtag.js) - Google Analytics