- 浏览: 107936 次
- 性别:
- 来自: 广西
文章分类
最新评论
-
18335864773:
用 js 的方法比较麻烦了,而且容易出错. 可以试试用 pa ...
用JavaScript动态生成excel -
beigai:
是可以使用的,没有问题,就是在WIN7下面是获取的IPV6的地 ...
java 获得web访问者真实的IP -
1927105:
fjmwishs 写道 不行啊 ,得不到。你那是什么破场景哇? ...
java 获得web访问者真实的IP -
fjmwishs:
不行啊 ,得不到。
java 获得web访问者真实的IP -
feizhang666:
太乱了......
JS修改Table中Td的值
根据指定当前页,分页记录条数,总页数,总行数,url等,生成页面分页导航链接的html代码
调用方法:
页面:
package com.gz.common.page; import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; /** * 分页导航类 该类生成分页导航的html代码 * * @author 黄瑞文 * */ public class Page { private Logger logger = Logger.getLogger(Page.class); /** * 声明:链接的其他查询条件,可以用struts的form表单提交,方可保留下一页时查询条件一样 若不使用form表单可以把查询条件连接到url末尾 * * @param totalPage * 总页数 * @param totalRow * 总行数 * @param pageSize * 每页行数 * @param currentPage * 当前页 * @param url * 连接地址,需要把查询的其他条件加进来:例如test.do?name=h * @return */ public String pageStr(int totalPage, int totalRow, int pageSize, int currentPage, String url) { int linkNum = 10;// 页面显示的链接数--页数的导航链接显示个数(可忽略) String navigation = ""; // "&pageSize="+pageSize+ // 表格封装分页导航 navigation += "<div><table border=1><tr>"; navigation += "<td>共" + totalPage + "页</td>";// 总页数 // 上一页 if (currentPage == 1) { // navigation += "<td><a href='"+url+"?page="+1+"'>上一页</a></td>"; } else { navigation += "<td><a href='" + url + "&page=" + (currentPage - 1) + "&pageSize=" + pageSize + "'>上一页</a></td>"; } // 页数的导航链接 navigation += "<td>第</td>"; // 从第几页开始,使其成为导航链接 int start = currentPage - linkNum / 2 <= 0 ? 1 : currentPage - linkNum / 2; // 结束页 int end = start + linkNum > totalPage ? totalPage : start + 10; // 当起始页和结束页,之差不够指定的页数时,从新给起始页赋值 start = end - linkNum >= 0 ? end - linkNum == 0 ? 1 : end - linkNum : start; // System.out.println(start+"/"+end); for (int i = start; i <= end; i++) { if (i == currentPage) { navigation += "<td>" + currentPage + "</td>";// 当前页不在是链接 } else { navigation += "<td><a href='" + url + "&page=" + i + "&pageSize=" + pageSize + "'>" + i + "</a></td>"; } } navigation += "<td>页</td>"; if (currentPage == totalPage) { } else { navigation += "<td><a href='" + url + "&page=" + (currentPage + 1) + "&pageSize=" + pageSize + "'>下一页</a></td>"; } // 下十页 navigation += "<td><a href='" + url + "&page=" + (currentPage + 10) + "&pageSize=" + pageSize + "'>下十页</a></td>"; navigation += "<td>共" + totalRow + "条</td>"; // 每页显示的记录数;onchange='this.form.submit();'更改数量时提交表单-- // 这时应返回第一页--这里没有实现 navigation += "<td>每页 <select name='pageSize' onchange='this.form.submit();'>"; navigation += "<option value='" + pageSize + "'>" + pageSize + "</option>"; for (int psize = 0; psize <= totalRow;) { psize += totalRow / 30; navigation += "<option value='" + psize + "'>" + psize + "</option>"; } navigation += "</select>"; navigation += "条</td>"; navigation += "</tr></table></div>"; return navigation; } /** * 每次显示第1-10页的链接,每10页刷新链接 * * @param totalPage * 总页数 * @param totalRow * 总行数 * @param pageSize * 每页行数 * @param currentPage * 当前页 * @param url * 连接地址,需要把查询的其他条件加进来:例如test.do?name=h * @return */ public String pageStrTen(int totalPage, int totalRow, int pageSize, int currentPage, String url) { // int linkNum = 9;// 页面显示的链接数--页数的导航链接显示个数(可忽略) if (url.contains("?")) { url += "&"; } else { url += "?"; } //规避当前页小于0或大于总的页数。 if(currentPage<=0){ currentPage=1; }else if(currentPage>totalPage){ currentPage=totalPage; } String navigation = ""; // "&pageSize="+pageSize+ // 表格封装分页导航 navigation += "<div><table border=1><tr>"; navigation += "<td>共" + totalPage + "页</td>";// 总页数 // 上十页 if (currentPage > 10) {// 如果当前页大于10页,说明有上10页 // 回到上十页 navigation += "<td><a href='" + url + "page=" + (currentPage - 10) + "&pageSize=" + pageSize + "'>上十页</a></td>"; } // 上一页 if (currentPage == 1) { // navigation += "<td><a href='"+url+"?page="+1+"'>上一页</a></td>"; } else { navigation += "<td><a href='" + url + "page=" + (currentPage - 1) + "&pageSize=" + pageSize + "'>上页</a></td>"; } // 页数的导航链接 // navigation += "<td>第</td>"; // 从第几页开始,使其成为导航链接 int start = currentPage / 10 * 10; start = start == 0 ? 1 : start;// 规避等于0的情况 start = start > totalPage ? totalPage : start;// 规避大于总的页数 // 结束页 int end = start + 9 > totalPage ? totalPage : start + 9; // 当起始页和结束页,之差不够指定的页数时,从新给起始页赋值 for (int i = start; i <= end; i++) { if (i == currentPage) { navigation += "<td style='font-weight:bold; font-family:Verdana; font-size:12px;'>" + currentPage + "</td>";// 当前页不在是链接 } else { navigation += "<td><a href='" + url + "page=" + i + "&pageSize=" + pageSize + "'>" + i + "</a></td>"; } } // navigation += "<td>页</td>"; if (currentPage != totalPage && currentPage < totalPage) {// 下页, navigation += "<td><a href='" + url + "page=" + (currentPage + 1) + "&pageSize=" + pageSize + "'>下页</a></td>"; } // 下十页 if (currentPage + 10 < totalPage) {// 下十页,如果当前页加上10小于totalPage,说明还有下10页 navigation += "<td><a href='" + url + "page=" + (currentPage + 10) + "&pageSize=" + pageSize + "'>下十页</a></td>"; } navigation += "<td>共" + totalRow + "条</td>"; // navigation += "<td>第<select name='page' // onchange='this.form.submit();' style='width=50'>"; navigation += "<td>第<select name='page' onchange='change(this.value," + pageSize + ");' style='width=50'>"; navigation += "<option value='" + currentPage + "'>" + currentPage + "</option>"; for (int pageNum = 5; pageNum <= totalPage;) { pageNum += 10;// 每10页递增 navigation += "<option value='" + pageNum + "'>" + pageNum + "</option>"; } navigation += "</select>"; navigation += "页</td>"; // 每页显示的记录数; // 这时应返回第一页-- navigation += "<td>每页 <select onchange='change(1,this.value);' style='width=50'>"; navigation += "<option value='" + pageSize + "'>" + pageSize + "</option>"; navigation += "<option value='" + 25 + "'>" + 25 + "</option>";// 保留两个比较常用的分页数量 navigation += "<option value='" + 50 + "'>" + 50 + "</option>"; for (int psize = 0; psize <= totalRow;) { psize += totalRow / 25; navigation += "<option value='" + psize + "'>" + psize + "</option>"; } navigation += "</select>"; navigation += "<input VALUE='输入' onchange='change(1,this.value);' style='width=30;color:#A4A4A4' >"; navigation += "条</td>"; navigation += "</tr></table></div>"; // javaScript navigation += "<script>"; navigation += "function change(page,pageSize){"; navigation += " if(isNaN(pageSize)){"; navigation += " alert('每页显示的数量须为数字');"; navigation += " return false;"; navigation += " }"; navigation += " window.location.href='" + url + "page='+page+'&pageSize='+pageSize;"; navigation += "}"; navigation += "</script>"; return navigation; } /** * * @param request * @return 返回 整型数组,int[0]是当前页,int[1]是每页要显示的记录数 */ public int[] currentPageAndPageSize(HttpServletRequest request) { String cp = request.getParameter("page"); String ps = request.getParameter("pageSize"); logger.info("当前页:" + cp + "/" + ps); int currentPage = 1; int pageSize = 10; // 当没有触发提交表单,所以没有提交page--为空,会取从url传 过来的值 if (cp != null && !cp.equals("")) { currentPage = Integer.parseInt(cp); } if (ps != null && !ps.equals("")) { pageSize = Integer.parseInt(ps); } int[] curPage = { currentPage, pageSize }; return curPage; } public static void main(String[] args) { Page p = new Page(); System.out.println(p.pageStrTen(16, 550, 10, 11, "test.do")); } }
调用方法:
Page page=new Page(); int[] curPage=page.currentPageAndPageSize(request); int currentPage=curPage[0];//页面返回的当前页 int pageSize=curPage[1];//页面返回的分页显示的数量 String nav = ""; try { aList = aDao.findPaging(as, currentPage, pageSize);//分页查询结果 if (aList.size() > 0) nav = page.pageStrTen(aList.get(0).getTotalPage(), aList .get(0).getTotalRows(), pageSize, aList.get(0) .getCurrentPage(), "attendance.do?method=findList");//调用分页导航方法,返回分页导航的字符串 request.setAttribute(paging, nav);//将分页导航送出
页面:
<body> <div> <html:form action="attendance.do?method=findList" > <html:submit>查 询</html:submit></div> </div> 输出结果 <div> ${paging} <!-- 取出分页导航,该导航需要被查询的form表单包含在内--> <!-- 页面取出分页导航,该导航不再需要放在被查询的form表单包含在内。可以放在任意位置。--> </div> </html:form> </div> </body>
发表评论
-
通过修改tomcat的server.xml配置文件部署多个web工程,方法一
2011-12-12 10:54 9885Dear all, 下面是部署多个web工程,方法一 如果 ... -
select,触发js同时取得option的value 和显示的名称
2011-07-12 20:45 2417<option value="${u.szj} ... -
js 页面弹出层
2010-12-30 11:31 0需求列表: 一、弹出页面上的div,解决因为弹出层和页面上的d ... -
java web 标签大全
2010-10-13 19:43 1814java web 标签大全java web 标签大全 -
netcotss_t4阿各地方
2010-08-06 08:31 0的格式上的好地方和服哈大哈 -
HTML 颜色图表
2010-07-30 21:11 1118一、选择颜色,得到颜色的html代码; 二、输入html颜色代 ... -
weblogic 使用的问题
2010-05-08 18:11 1665一、weblogic数据源-找不 ... -
JavaScript鼠标点到文本框时的提示信息
2010-03-30 17:32 1029<!DOCTYPE html PUBLIC &quo ... -
java+js+jsp用户自定义字段查询
2010-03-30 16:20 6445人力资源系统常见的需求 一、给出员工所有的基本信息的字段 二、 ... -
用JavaScript动态生成excel
2010-03-19 12:39 2791<script> function prin ... -
用法比较简单的行高亮
2010-03-09 21:08 1117//另外的高亮 调用方法<table onmou ... -
自己用的CSS
2010-03-09 20:58 1082BODY { font-size:10pt; fo ... -
js添加行删除行,遍历table
2010-03-09 20:55 8444//需求:js实现多条记录的更新 //1、从页面的表格A中, ... -
JS修改Table中Td的值
2010-03-09 20:52 15288<html> <script lang ...
相关推荐
通过ajax调用后端Servlet,(调后端的Servlet名叫testservlet 可以在wzjpage.js第27行处修改。)返回一个JSON对象,要求:jSON对象中必须有 // datarows columns pageCount这3个对象。 //数据格式必须为: List[]>...
看了别人写的 分页条的显示 自己 结合个人项目也写了个,主要是针对 内存分页 涵盖 后台 数据处理,以及js显示,使用到了 jQuery ,分页条的样式 大家可以自行调整,感觉还凑合
AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现...
这组特效通用18种效果,可以用于制作幻灯片、页面切换和其它容器组件切换的分页导航按钮。本段代码兼容目前最新的各类主流浏览器,是一款非常优秀的特效源码。本代码适用浏览器:搜狗、360、FireFox、Chrome、Safari...
这是一组效果非常炫酷的垂直分页导航按钮动画特效。这组特效通用18种效果,可以用于制作幻灯片、页面切换和其它容器组件切换的分页导航按钮。
这是我对网上一些分页组件改编而成的,它主要的特色是支持三种传值方式(JAVASCRIPT,POST,GET),它还支持各种自定义样式,很方便呐!
三、AspNetPager分页控件本身并不显示任何数据,而只显示分页导航元素,数据在页面上的显示方式与该控件无关,所以需要手写数据连接方法来配合, 四、结合TOP 。。。NOT IN 的通用存储过程分页方法使用AspNetPager...
通用分页类,根据给定的项目总数和每页项目数,自动生成导航链接。 请注意,这是一个*通用*分页类,这意味着它不显示任何记录! 开发人员可以根据此类返回的信息来获取实际数据并进行显示。 优点是它可用于对来自...
三、AspNetPager分页控件本身并不显示任何数据,而只显示分页导航元素,数据在页面上的显示方式与该控件无关,所以需要手写数据连接方法来配合, 四、结合TOP 。。。NOT IN 的通用存储过程分页方法使用AspNetPager...
这组特效通用18种效果,可以用于制作幻灯片、页面切换和其它容器组件切换的分页导航按钮。本段代码兼容目前最新的各类主流浏览器,是一款非常优秀的特效源码。本代码适用浏览器:搜狗、360、FireF
pager-taglib 是个很好的jsp分页标签,使用它结合jstl可以实现灵活的分页导航功能。在实际的开发中post方式的提交比较常见,本人做了一个比较通用的基于post方式的一个应用。主要实现一下功能: 1.添加输入跳转、每...
pager-taglib 是个很好的jsp分页标签,使用它结合jstl可以实现灵活的分页导航功能。在实际的开发中post方式的提交比较常见,本人做了一个比较通用的基于post方式的一个应用。主要实现一下功能: 1.添加输入跳转、每...
2.导航菜单管理(前台采用jquery插件实现二级下拉菜单,后台可设置菜单的显示和隐藏) 3.客服功能(可以很方便的为企业和客户之间搭建沟通的桥梁。后台无限制添加QQ,6种样式一键切换) 4.分享功能(采用百度分享接口,...
通用管理框架正式版1.1源码 更新内容: 编译已有代码,建立测试服务器虚拟目录,上传编译文件,初始化角色信息,整理开会讨论的个性模块变动和需求 编写获取页面标题函数,编写页面模块导航函数 弹出消息框代码编写 ...
2.导航菜单管理(前台采用jquery插件实现二级下拉菜单,后台可设置菜单的显示和隐藏) 3.客服功能(可以很方便的为企业和客户之间搭建沟通的桥梁。后台无限制添加QQ,6种样式一键切换) 4.分享功能(采用百度分享接口,...
2.导航菜单管理(前台采用jquery插件实现二级下拉菜单,后台可设置菜单的显示和隐藏) 3.客服功能(可以很方便的为企业和客户之间搭建沟通的桥梁。后台无限制添加QQ,6种样式一键切换) 4.分享功能(采用百度分享接口,...
2.导航菜单管理(前台采用jquery插件实现二级下拉菜单,后台可设置菜单的显示和隐藏) 3.客服功能(可以很方便的为企业和客户之间搭建沟通的桥梁。后台无限制添加QQ,6种样式一键切换) 4.分享功能(采用百度分享接口,...
此留言本系统的特点是简洁实用,安全可靠,代码很小,可维护性强,非常适用于一般通用网站留言本使用。 本次的修改主要是对于先前的UTF-8版本的一些错误进行了修正, 二、使用说明 1、index.asp默认的...
2.导航菜单管理(前台采用jquery插件实现二级下拉菜单,后台可设置菜单的显示和隐藏) 3.客服功能(可以很方便的为企业和客户之间搭建沟通的桥梁。后台无限制添加QQ,6种样式一键切换) 4.分享功能(采用百度分享接口,...
2.导航菜单管理(前台采用jquery插件实现二级下拉菜单,后台可设置菜单的显示和隐藏) 3.客服功能(可以很方便的为企业和客户之间搭建沟通的桥梁。后台无限制添加QQ,6种样式一键切换) 4.分享功能(采用百度分享接口,...