锁定老帖子 主题:show下我的分页类
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-18
package com.xm.utils; import java.util.Enumeration; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.kangsheng.cus.common.dbconn.DaoFactory; // Referenced classes of package com.sihitech.tools: // DaoFactory public class PageRoll { private String currentUrl; // private PageContext page; private DaoFactory pv; private HttpServletRequest request; private HttpServletResponse response; private String strParams; private String strlink; public PageRoll(HttpServletRequest request, HttpServletResponse response, DaoFactory pv) { currentUrl = ""; strParams = ""; this.request = request; this.response = response; this.pv = pv; currentUrl = request.getRequestURL().toString(); strParams = GetParamsFromCurrentUrl(); } private String GetParamsFromCurrentUrl() { String str1 = ""; String paraValue = ""; for (Enumeration enu = request.getParameterNames(); enu .hasMoreElements();) { String paraName = (String) enu.nextElement(); paraValue = request.getParameter(paraName); if (!paraName.equals("page")) str1 = str1 + "&" + paraName + "=" + paraValue; } return str1; } public void Show(boolean allRecord, boolean pageInfo, boolean pageNav, boolean jumpPage) { // PrintWriter out = response.getWriter(); // out.print("<table border=0> <tr><td>"); String link = ""; if (allRecord) link = link + ShowTotalRecord(); if (pageInfo) link = link + ShowPageInfo(); if (pageNav) link = link + ShowPageNav(); if (jumpPage) link = link + ShowJumpPage(); this.strlink = link; // out.print("</td></tr></table>"); } private String ShowJumpPage() { // PrintWriter out = response.getWriter(); String link = ""; link = link + "转到第<input type='text' name='page' size='1'><span>页</span><input type=button value='GO' onclick='goToPage()'>"; link = link + "<script language='javascript'>"; link = link + "function goToPage(){"; link = link + "value=document.all.page.value;"; link = link + "if(value.indexOf(\".\")==-1 && value.indexOf(\"-\")==-1 && value!==\"\" && !isNaN(value) && value>0 && value<" + (pv.GetTotalPage() + 1) + "){"; link = link + "location.assign('" + currentUrl + "?page='+value+'" + strParams + "')"; link = link + "}"; link = link + "}"; link = link + "</script>"; return link; } private String ShowPageInfo() { // PrintWriter out = response.getWriter(); String link = "第" + pv.GetCurrentPage() + "/" + pv.GetTotalPage() + "页 "; return link; } private String ShowPageNav() { // PrintWriter out = response.getWriter(); String link = ""; if (pv.GetTotalPage() > 1) link = "<a href='" + currentUrl + "?page=1" + strParams + "'><span>首页</span></a> "; else link = "<span>首页 </span>"; // if (pv.GetHasPrev()) link = link + "<a href='" + currentUrl + "?page=" + pv.GetPrevPageNumber() + strParams + "'><span>上页</span></a> "; else link = link + "<span>上页 </span>"; // if (pv.GetHasNext()) link = link + "<a href='" + currentUrl + "?page=" + pv.GetNextPageNumber() + strParams + "'><span>下页</span></a> "; else link = link + "<span>下页 </span>"; // if (pv.GetTotalPage() > 1) { link = link + "<a href='" + currentUrl + "?page=" + pv.GetTotalPage() + strParams + "'><span>尾页</span></a> "; return link; } else { link = link + "<span>尾页 </span>"; return link; } } private String ShowTotalRecord() { // PrintWriter out = response.getWriter(); String link = "<span>共" + pv.GetTotalRecord() + "条记录 </span>"; return link; } public String getStrlink() { return strlink; } public void setStrlink(String strlink) { this.strlink = strlink; } } 使用时,在action中建立该类的对象pr,并执行public void Show(boolean allRecord, boolean pageInfo, boolean pageNav,boolean jumpPage),将该对象放入ModelAndView,在页面使用${pr.strlink }就可以实现分页,如图 本人从事JAVA才1年,希望达到抛砖引玉的效果,大家把自己的工具拿出来show show,共同研究下,学习下 也建议版主弄一个工具包专题 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-11-18
这是webwork?? 放错地了。
|
|
返回顶楼 | |
发表时间:2008-11-18
输出都写死了,无法定制输出内容,无法定义样式,无法国际化,GetParamsFromCurrentUrl()……总之,很差。
|
|
返回顶楼 | |
发表时间:2008-11-18
icefire 写道 输出都写死了,无法定制输出内容,无法定义样式,无法国际化,GetParamsFromCurrentUrl()……总之,很差。 <div id="product_page"> ${pr.strlink } </div> 样式可以定义, 国际化也可以使用哦,只是目前我这个项目没涉及到国际化,没改 这只是我个人使用的,有很多缺点,大家讨论下嘛, 多谢楼上的意见,希望大家多多提出意见,多多完善 |
|
返回顶楼 | |
发表时间:2008-11-18
在90%的项目里,国际化是假想需求.
|
|
返回顶楼 | |
发表时间:2008-11-18
怎么能把显示的数据放在类里面。太离谱了。
居然在方法里面拼html。。。丑陋。。丑陋到了极点。。 |
|
返回顶楼 | |
发表时间:2008-11-18
有啥好show的?写的这么烂
|
|
返回顶楼 | |
发表时间:2008-11-18
不加样式是比较难看
不过比较实用,至少我开发的时候可以一劳永逸. 楼上的靓仔,烂在哪里,说说,俺改改 |
|
返回顶楼 | |
发表时间:2008-11-18
很老的一个例子了!
|
|
返回顶楼 | |
发表时间:2008-11-18
不要总是批评人家写的程序不好,如果你们觉得自己写的水平高,也拿出来让大家学习学习啊。
|
|
返回顶楼 | |