📄 pagetag.java
字号:
/**
*
* 功能 Coarse Function Description
* 类名 PageTag
*
* ver 变更日 部门 变更者 变更内容
* ──────────────────────────────────
* V1.0 2006-10-19 国内事业部 陈志武 初版
* V1.1 2006-10-19 国内事业部 陈志武 改定
*
*/
package com.hisoft.cottonbusiness.core.common;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTagSupport;
import org.apache.log4j.Logger;
/**
* Class description in detail
*
*
* @author 陈志武
* @version Ver 1.0 2006-10-19 改订
* @since Ver 1.0
*/
public class PageTag extends BodyTagSupport
{
private static final Logger log = Logger.getLogger(PageTag.class);
/**
* current page number
*/
private int currPage;
/**
* total result row number
*/
private int resultCount;
/**
* result row count per page
*/
private int pageSize;
/**
* page uri
*/
private String uri;
public int doAfterBody() throws JspException
{
return super.doAfterBody();
}
public int doEndTag() throws JspException
{
JspWriter out = pageContext.getOut();
StringBuffer sb = new StringBuffer();
sb.append("<script>");
sb.append("\nfunction goPage(pageNumber) {");
sb.append("\nwindow.location.href=\"" + getUri() + "&currPage=\" + pageNumber;");
sb.append("\n}");
sb.append("\n</script>\n");
if (getCurrPage() == 1)
{
sb.append("<span style='color:#999999;'>首页</span> ");
}
else
{
sb.append("<a href=" + getUri() + "&currPage=1>首页</a> ");
}
if (getCurrPage() == 1)
{
sb.append("<span style='color:#999999;'>上一页</span> ");
}
else
{
sb.append("<a href=" + getUri() + "&pageNumber=" + getPrevPage() + ">上一页</a> ");
}
if (getCurrPage() == getPageCount())
{
sb.append("<span style='color:#999999;'>下一页</span> ");
}
else
{
sb.append("<a href=" + getUri() + "&currPage=" + getNextPage() + ">下一页</a> ");
}
if (getCurrPage() == getPageCount())
{
sb.append("<span style='color:#999999;'>末页</span> ");
}
else
{
sb.append("<a href=" + getUri() + "&currPage=" + getLastPage() + ">末页</a> ");
}
sb.append("<b>" + getCurrPage() + "</b>/<b>" + getPageCount() + "</b>页 ");
sb.append("共<b>" + getResultCount() + "</b>条<b> " + getPageSize() + "</b>条/页 ");
//
sb.append("<select name='gotoPage' onChange=\"javascript:goPage(this.options[this.selectedIndex].value);\">");
for (int i = 1; i <= getPageCount(); i++)
{
sb.append("<option value='" + i + "' >第" + i + "页</option>\n");
}
sb.append("</select>");
sb.append("\n<script>");
sb.append("\nfor(var i=0; i < document.getElementById('gotoPage').options.length; i++){");
sb.append("\nif(document.getElementById('gotoPage').options[i].value == " + getCurrPage() + ")");
sb.append("\n{document.getElementById('gotoPage').options[i].selected=true;break;}");
sb.append("\n}");
sb.append("\n</script>\n");
try
{
out.println(sb.toString());
}
catch (IOException e)
{
//
}
return EVAL_PAGE;
}
public void doInitBody() throws JspException
{
log.debug("do init....");
super.doInitBody();
}
public int doStartTag() throws JspException
{
log.debug("do start tag...");
return super.doStartTag();
}
public BodyContent getBodyContent()
{
return super.getBodyContent();
}
public void release()
{
log.debug("release resource....");
super.release();
}
public void setBodyContent(BodyContent arg0)
{
super.setBodyContent(arg0);
}
public void setCurrPage(int currPage)
{
this.currPage = currPage;
}
public void setPageSize(int pageSize)
{
this.pageSize = pageSize;
}
public void setResultCount(int resultCount)
{
this.resultCount = resultCount;
}
public void setUri(String uri)
{
this.uri = uri;
}
/**
* 取得当前页
*
* @return
*/
public int getCurrPage()
{
return currPage;
}
/**
* 取得首页
*
* @return
*/
public int getFirstPage()
{
return 1;
}
/**
* 取得最后一页
*
* @return
*/
public int getLastPage()
{
return getPageCount();
}
/**
* 取得当前页的下一页
*
* @return
*/
public int getNextPage()
{
if (currPage == getPageCount())
{
return currPage;
}
return currPage + 1;
}
/**
* 取得总页面数
*
* @return
*/
public int getPageCount()
{
int size = (resultCount - 1) / pageSize + 1;
return size;
}
/**
* 取得页面记录数
*
* @return
*/
public int getPageSize()
{
return pageSize;
}
/**
* 取得当前页的前一页
*
* @return
*/
public int getPrevPage()
{
if (1 == currPage)
{
return 1;
}
return currPage - 1;
}
/**
* 取得总记录数
*
* @return
*/
public int getResultCount()
{
return resultCount;
}
public String getUri()
{
return uri;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -