在做web开发中【JSP】,大家【分页】一般自己写吗 。还是用第三方提供的解决方案?ps:我们公司用 pager-taglib 标签,感觉很一般 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一个分页。还要用人家的。说出来都不好意思!.diy! 轮子大家都会造, 关键是你自己造出的轮子来 性能上会不会有缺陷ps: 哥们看来很牛x 否可写一个性能上比较牛x的【使用简单、而又高效】、通用【适用于大多数b/s架构的查询操作】的分页标签来分享一下?? 基本告别页面分页 - - 只根据当前应用框架不同来diy数据库分页方案 合适的才是最好的! [各种应用不尽相同] 看过不少分页办法 自已也写过几种,原理类似但目前真没有通用的.[我指的是大家公认的].至于性能. 分页办法是没办法决定性能好坏的..大家都知道分页还行靠sql.如果你真要想提高性能。也只好自己去做缓存策略了.!以及在sql 上去做文章.! 我的blog 中有个在struts2坏境下的分页.当然后来改了一些地方但没有去更新! 牛 就不敢当了.都是出来混的..呵呵。。 分页标签?就是把一个大结果集按配置分页显示的那种?这个怎么通用?写一个纯jsp下可行的吗?有的框架利用框架特性几行代码ok。通用不是万能代码。 通用的 比如说: 接可以整合到 ssh 中 , 又可以在 纯 jsp + servlet 的环境下 使用 你可以将数据查询出来,缓存到session中,使用分页,选择性地在页面上展示数据。 在s2sh中如果我用数据库分页只需要用h数据库分页,页面只需要告诉我上一页还是下一页,其他全部自动判断。在纯jsp中如果要这么做需要手工处理sql语句。在s2sh中如果我用页面分页只需要封装一个PageBean利用s2对页面提交的自动封装入PageBean。在纯jsp中完全没有这些支持。我为什么要在jsp环境写通用其他框架代码?能写的话 我还要其他框架干什么? 只能这名回复你。1:不知道你分页时候 会不会涉及到 【 查询条件】 , 不知道 你【其他全部自动判断】是如何实现的。2:既然是分页标签了 涉及到就不纯粹是后台的业务, 还有前台的各种样式的展示比如说:首页 下一页 上一页 末页 跳转[]首页 上一页 1 2 3 4 5 下一页 末页 跳转[]。。在JSP环境跟其他环境 难道就没有通用的东西了么? 我现在基本用的是数据库分页,之需要3个信息并范围3个信息,如下:Pindex in number, --分页索引Psql in varchar2, --产生dataset的sql语句Psize in number, --页面大小Pcount out number, --返回分页总数Prcount out number, --返回记录总数v_cur out type_cur --返回当前页数据记录至于查询和排序条件就根据应用的web层框架采用合适方式组装。自动判断是自动判断是否有下一页或者是否有前一页。前台标签[首页 上一页 1 2 3 4 5 下一页 末页]这些都只是简单指向自己本页的链接,带个页码参数而已。 所谓“通用”永远是在一定范围内适用。既然使用某种框架就表明这个框架的某些特性是我这个项目所需要的。而且这些特性是jsp无法简单直接实现的。 你给我写个在jsp通用,且用方便在Tapestry项目中用的看看。(提示Tapestry使用的视图模式为html) 之前用过displaytag,还可以,后来觉得不完全满足自己的需求,所以后来自己写了一个 提示就免了。 Tapestry 这种不入流的东西还是算了吧 hehe,现在还是自己写,对那些框架不熟:) 1:不知道你分页时候 会不会涉及到 【 查询条件】 , 不知道 你【其他全部自动判断】是如何实现的。2:既然是分页标签了 涉及到就不纯粹是后台的业务, 还有前台的各种样式的展示只说一点: 处理带条件的情况!* up page */function upPageC(currentPage) { if (currentPage <= 1) { alert("it first page!"); return; } document.all.pageBeanForm.page.value = currentPage - 1; submit_condition_form();}/*next page*/function nextPageC(currentPage, pCount) { if (currentPage >= pCount) { alert("it is last page!"); return; } document.all.pageBeanForm.page.value = currentPage + 1; submit_condition_form();}/* the last page*/function lastPageC(pCount) { document.all.pageBeanForm.page.value = pCount; submit_condition_form();}/* the first page*/function firstPageC() { document.all.pageBeanForm.page.value = 1; submit_condition_form();}/*把pageForm里面的分页参数加载过来*/function submit_condition_form(srcFm, targetFm) { if (srcFm == null) { srcFm = document.all.pageBeanForm; } if (targetFm == null) { targetFm = document.all.comditionForm; } if (srcFm != null) { for (var i = 0; i < srcFm.elements.length; i++) { var element = srcFm.elements[i]; if (element.type == "hidden") { targetFm.appendChild(element); } } } targetFm.submit();} Tapestry 不入流? 呵呵,敢问阁下工作过几年,是否接触过Tapestry的大型项目,设计过几个大型项目结构,决定项目使用框架时是否考虑过该框架的必要性,了解各框架特点?分页这种小东西实现起来不难,但要结合当前应用的实际情况来做。比如我有一个日均访问千万pv的网站,那么我就可以考虑定时更新缓存的数据库数据,页面分页缓存数据方案来减轻数据库压力。(此时页面所需要数据不再去查询数据库而是查询缓存,不过查询这层基本都利用接口对前台屏蔽具体实现)又比如我有一个海量数据的oa系统,那么我就可能考虑使用数据库分页方案(海量数据优先考虑数据库分库分表)同时有时候为了考虑用户体验,需要异步获取分页数据,不刷新获取分页数据,一次性获取数据js分页等。以上只想证明我的观点:万能通用代码是不存在的。此帖我不再回帖,不再关注。 原理是用 隐藏表单域去处理的 ! 像上面的情况 这种写法也是不太理想的 处理不同的实体时条件各不相同 怎么去封装应该更好的去处理!for example: 查询操作日志: params 可能就有 操作日期 操作用户 指定模版 IP等 如果是查询出入库: parms 可能就有 物品种类, 出入库日期 ,操作人这样一来。。参数封装就成问题了.因为这些条件都得到 相应的sql中去体现 -----------我是讲带条件的处理方法也肯定是有的: 在 view 的时候就指定类型 然后到业务层去转!当然可能有别的方法从上面也看得出来,你付出的代价。 复杂的功能简单处理 简单的功能 复杂的对待 前台后台脱离。前台只用JS去控制 就OK了。这种分页应该效果最好。 Tapestry 入流吗 ? 这个还真没啥感觉!!! 另外,闻道有先后、术业有专攻,你了解的我有些可能真的没了解, 话说回来我懂的你也未必全明白。 hibernate自带的分页很好使噢!~ 说的跟你自己很懂似的啊。 另外我发帖向网友交流一下经验有啥异议吗? 碍着你了吗你有啥资格在这说三道四 ? ps:我想不想是我个人的问题 ,看不惯就可以out该帖了 JPA使用中级联删除,出现了异常 jsp中论坛的引用动能是如何实现的,框怎么解决 返回界面时如何清空文本框中的值 如何编码查询数据库动态显示在页面上? Tapestry框架下网页中姓名对齐显示问题,大家进来讨论下哦,来者有分,支持一下哦 兄弟们 JAVA脚本 在线等啊 在使用bean实现简单新闻编辑过程中,出现问题,在线请教! 敏捷之源JAVA开源项目大全速查下载(送分) 请问哪有tomcat 最新版本的下载! help me .about j2ee and corba. comeon 如何在一个WEB程序里 同时连接多个数据库 ssh2中的问题
轮子大家都会造, 关键是你自己造出的轮子来 性能上会不会有缺陷ps: 哥们看来很牛x 否可写一个性能上比较牛x的【使用简单、而又高效】、通用【适用于大多数b/s架构的查询操作】的分页标签来分享一下??
只根据当前应用框架不同来diy数据库分页方案
至于性能. 分页办法是没办法决定性能好坏的..大家都知道分页还行靠sql.如果你真要想提高性能。也只好自己去做缓存策略了.!以及在sql 上去做文章.! 我的blog 中有个在struts2坏境下的分页.当然后来改了一些地方但没有去更新!
牛 就不敢当了.都是出来混的..呵呵。。
这个怎么通用?写一个纯jsp下可行的吗?有的框架利用框架特性几行代码ok。
通用不是万能代码。
通用的 比如说: 接可以整合到 ssh 中 , 又可以在 纯 jsp + servlet 的环境下 使用
在s2sh中如果我用页面分页只需要封装一个PageBean利用s2对页面提交的自动封装入PageBean。在纯jsp中完全没有这些支持。我为什么要在jsp环境写通用其他框架代码?能写的话 我还要其他框架干什么?
只能这名回复你。1:不知道你分页时候 会不会涉及到 【 查询条件】 , 不知道 你【其他全部自动判断】是如何实现的。2:既然是分页标签了 涉及到就不纯粹是后台的业务, 还有前台的各种样式的展示比如说:首页 下一页 上一页 末页 跳转[]首页 上一页 1 2 3 4 5 下一页 末页 跳转[]。。在JSP环境跟其他环境 难道就没有通用的东西了么?
Pindex in number, --分页索引
Psql in varchar2, --产生dataset的sql语句
Psize in number, --页面大小
Pcount out number, --返回分页总数
Prcount out number, --返回记录总数
v_cur out type_cur --返回当前页数据记录
至于查询和排序条件就根据应用的web层框架采用合适方式组装。
自动判断是自动判断是否有下一页或者是否有前一页。
前台标签[首页 上一页 1 2 3 4 5 下一页 末页]这些都只是简单指向自己本页的链接,带个页码参数而已。
(提示Tapestry使用的视图模式为html)
提示就免了。 Tapestry 这种不入流的东西还是算了吧
2:既然是分页标签了 涉及到就不纯粹是后台的业务, 还有前台的各种样式的展示
只说一点: 处理带条件的情况!
* up page */
function upPageC(currentPage) {
if (currentPage <= 1) {
alert("it first page!");
return;
}
document.all.pageBeanForm.page.value = currentPage - 1;
submit_condition_form();
}
/*next page*/
function nextPageC(currentPage, pCount) {
if (currentPage >= pCount) {
alert("it is last page!");
return;
}
document.all.pageBeanForm.page.value = currentPage + 1;
submit_condition_form();
}
/* the last page*/
function lastPageC(pCount) {
document.all.pageBeanForm.page.value = pCount;
submit_condition_form();
}
/* the first page*/
function firstPageC() {
document.all.pageBeanForm.page.value = 1;
submit_condition_form();
}
/*把pageForm里面的分页参数加载过来*/
function submit_condition_form(srcFm, targetFm) {
if (srcFm == null) {
srcFm = document.all.pageBeanForm;
}
if (targetFm == null) {
targetFm = document.all.comditionForm;
}
if (srcFm != null) {
for (var i = 0; i < srcFm.elements.length; i++) {
var element = srcFm.elements[i];
if (element.type == "hidden") {
targetFm.appendChild(element);
}
}
}
targetFm.submit();
}
比如我有一个日均访问千万pv的网站,那么我就可以考虑定时更新缓存的数据库数据,页面分页缓存数据方案来减轻数据库压力。(此时页面所需要数据不再去查询数据库而是查询缓存,不过查询这层基本都利用接口对前台屏蔽具体实现)
又比如我有一个海量数据的oa系统,那么我就可能考虑使用数据库分页方案(海量数据优先考虑数据库分库分表)同时有时候为了考虑用户体验,需要异步获取分页数据,不刷新获取分页数据,一次性获取数据js分页等。以上只想证明我的观点:万能通用代码是不存在的。此帖我不再回帖,不再关注。
处理不同的实体时条件各不相同 怎么去封装应该更好的去处理!for example:
查询操作日志: params 可能就有 操作日期 操作用户 指定模版 IP等 如果是查询出入库: parms 可能就有 物品种类, 出入库日期 ,操作人这样一来。。参数封装就成问题了.因为这些条件都得到 相应的sql中去体现
-----------我是讲带条件的
处理方法也肯定是有的:
在 view 的时候就指定类型 然后到业务层去转!当然可能有别的方法从上面也看得出来,你付出的代价。 复杂的功能简单处理 简单的功能 复杂的对待
前台只用JS去控制 就OK了。
这种分页应该效果最好。
Tapestry 入流吗 ? 这个还真没啥感觉!!! 另外,闻道有先后、术业有专攻,你了解的我有些可能真的没了解, 话说回来我懂的你也未必全明白。
说的跟你自己很懂似的啊。 另外我发帖向网友交流一下经验有啥异议吗? 碍着你了吗你有啥资格在这说三道四 ? ps:我想不想是我个人的问题 ,看不惯就可以out该帖了