📄 pagetag.java~2~
字号:
package com.pet.util;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import java.io.*;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
public class PageTag extends TagSupport {
//该变量存当前页码的值
String pageIndexSessionName = "";
//该变量存表的记录总数的值
String rowCountSessionName = "";
//该变量存有每页显示多少记录的值
String pageNumberSessionName = "";
//每页记录数
int pagePerNumber = 0;
//表的总记录数
int pageAllNumber = 1;
//当前页码
int pageCurrentIndex = 0;
//首页索引
int pageFirstIndex = 0;
//上一页索引
int pageUpIndex = 0;
//下一页索引
int pageDownIndex = 0;
//末页索引
int pageLastIndex = 0;
//表的总页数
int pageShowNumber = 0;
//读取初始参数值
public int doStartTag() throws JspException {
HttpSession session = pageContext.getSession();
//当前页码的值
String currentPage = (String) session.getAttribute(
"pageIndexSessionName");
if (currentPage == null || currentPage.compareTo("") == 0) {
currentPage = "0";
}
//转换当前页码的值给成员变量pageCurrentIndex(当前页面)
pageCurrentIndex = Integer.parseInt(currentPage);
//表的记录总数
String rowCount = (String) session.getAttribute("rowCountSessionName");
if (rowCount == null || rowCount.compareTo("") == 0) {
rowCount = "0";
}
//转换表的总记录数的值给成员变量pageAllNumber
pageAllNumber = Integer.parseInt(rowCount);
//每页页面记录数量
String perRecordNumber = (String) session.getAttribute(
"pageNumberSessionName");
if (perRecordNumber == null || perRecordNumber.compareTo("") == 0) {
perRecordNumber = "0";
}
pagePerNumber = Integer.parseInt(perRecordNumber);
//显示的页数
if (pagePerNumber == 0) {
pageShowNumber = 0;
} else {
pageShowNumber = pageAllNumber / pagePerNumber;
if (pageAllNumber % pagePerNumber != 0) {
pageShowNumber++;
}
}
if (pageShowNumber == 0) {
pageShowNumber = 1;
}
if (pageShowNumber == 0) {
pageShowNumber = 1;
}
//得到首页索引
pageFirstIndex = 0;
//得到上一页索引
pageUpIndex = pageCurrentIndex - 1;
if (pageUpIndex < 0) {
pageUpIndex = 0;
}
//得到下一页索引
pageDownIndex = pageCurrentIndex + 1;
if (pageDownIndex > pageShowNumber - 1) {
pageDownIndex = pageShowNumber - 1;
}
if (pageDownIndex < 0) {
pageDownIndex = 0;
}
//得到末页索引
pageLastIndex = pageShowNumber - 1;
if (pageLastIndex < 0) {
pageLastIndex = 0;
}
//返回EVAL_BODY_INCLUDE执行doAfterBody()方法
return EVAL_BODY_INCLUDE;
}
public int doAfterBody() throws JspException {
HttpServletRequest request = (HttpServletRequest) pageContext.
getRequest();
String context = request.getContextPath();
try {
StringBuffer buffer = new StringBuffer();
buffer.append(
"<table align='center' width='60%' cellSpacing=0 cellPadding=0 border=0>");
buffer.append("<tbody>");
buffer.append("<input type='hidden' name='pageIndexSessionName'>");
buffer.append("<tr align='right'>");
buffer.append("<td vAlign=bottom>");
buffer.append("<a href='javascript: ");
buffer.append("SubmitButton(");
buffer.append(pageFirstIndex);
buffer.append(" ) ' ");
buffer.append("style='COLOR: #336699' ><IMG src='./common/image/p_left.gif' alt='首页' width='17' height='11'> </a>");
buffer.append("<a href='javascript: ");
buffer.append("SubmitButton(");
buffer.append(pageUpIndex);
buffer.append(" ) ' ");
buffer.append("style='COLOR: #336699' ><IMG src='./common/image/p_last.gif' alt='上一页' width='17' height='11'> </a>");
buffer.append("<a href='javascript: ");
buffer.append("SubmitButton(");
buffer.append(pageDownIndex);
buffer.append(" ) ' ");
buffer.append("style='COLOR: #336699' > <IMG src='./common/image/p_next.gif' alt='下一页' width='17' height='11'></a>");
buffer.append("<a href='javascript: ");
buffer.append("SubmitButton(");
buffer.append(pageLastIndex);
buffer.append(" ) ' ");
buffer.append("style='COLOR: #336699' > <IMG src='./common/image/p_right.gif' alt='末页' width='17' height='11'></a>");
buffer.append(
"共<span id=GridPage1_Lbl_U_Record style='COLOR: #336699'>");
buffer.append(pageAllNumber);
buffer.append(
"</span>项 页次:<span id=GridPage1_Lbl_U_Page style='COLOR: #336699'>");
buffer.append(pageCurrentIndex + 1);
buffer.append(
"</span>/ <span id=GridPage1_Lbl_U_PageTotal style='COLOR: #336699'></span>");
buffer.append(pageShowNumber);
buffer.append("页 跳到");
buffer.append(
"<input type='text' name='txtpageIndexSessionName' style='width: 30px'>页");
buffer.append(" <input class=button id=GridPage1_btnGo type=submit value='跳 转' onclick='SubmitPress()'> ");
buffer.append("</td></tr></tbody></table>");
buffer.append(
"<script language='javascript' type='text/javascript'>");
buffer.append("function SubmitPress(){");
buffer.append("var theInputNumber = document.forms[0].elements['txtpageIndexSessionName'].value; ");
buffer.append(
"if(isNaN(theInputNumber)){alert('请输入数字!');return false;}");
buffer.append("else if(parseFloat(theInputNumber) == 0){alert('请输入大于零的数字!');return false;}else{");
buffer.append("document.forms[0].elements['pageIndexSessionName'].value=parseInt(theInputNumber)-1;");
buffer.append("document.forms[0].action=window.location;");
buffer.append("document.forms[0].target=\"_self\";");
buffer.append("document.forms[0].submit();}}");
buffer.append("function SubmitButton(index){ document.forms[0].elements['pageIndexSessionName'].value=index;");
buffer.append("document.forms[0].action=window.location;");
buffer.append("document.forms[0].target=\"_self\";");
buffer.append("document.forms[0].submit();}");
buffer.append("</script>");
JspWriter out = pageContext.getOut();
out.print(buffer.toString());
} catch (IOException ex) {
ex.printStackTrace();
}
return SKIP_BODY;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -