📄 fenyetag.java
字号:
package fy;
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.*;
public class FenYeTag extends BodyTagSupport {
private String url = null;//当前页面的URL
private int pageCount = 0;//总页数
//private int countPerPage;//每页显示的行数
public void setUrl(String currentURL) {
this.url = currentURL;
}
public void setPageCount(int count) {
this.pageCount = count;
}
/*public void setCountPerPage(int perPage) {
this.countPerPage = perPage;
}*/
public int doStartTag() throws JspTagException, JspException {
String strCurPage = this.pageContext.getRequest().getParameter("page");//得到当前页的页数
int curPage = 0;//用来存取当前页
if (strCurPage == null) {
curPage = 1;
}else {
curPage = Integer.parseInt(strCurPage);//得到当前页的页数
}
StringBuffer sb = null;
if (this.pageCount != 0 && curPage != 0) {
sb = new StringBuffer("分页 ");
if (curPage == 1) {
sb.append("首页||上一页||");
}else {
//首页的链接
sb.append("<a href='").append(this.url).append("?page=1'>");
sb.append("首页").append("</a>").append("||");
//上一页的链接
sb.append("<a href='").append(this.url).append("?page=").append(curPage-1).append("'>");
sb.append("上一页").append("</a>").append("||");
}
if (curPage == this.pageCount) {
sb.append("后一页||尾页");
}else {
//后一页的链接
sb.append("<a href='").append(this.url).append("?page=").append(curPage+1).append("'>");
sb.append("后一页").append("</a>").append("||");
//尾页的链接
sb.append("<a href='").append(this.url).append("?page=").append(this.pageCount).append("'>");
sb.append("尾页").append("</a>");
}
}
//跳转到多少页
sb.append(" 跳转到:<select name='goToPage' onchange='javascript:goPage(this.value)'>");
String p = pageContext.getRequest().getParameter("page");
int j = 1;
if (p != null) {
j = Integer.parseInt(p);
}
for (int i = 1;i <= this.pageCount;i++) {
sb.append("<option value=").append(i);
if (i == j) {
sb.append(" selected");
}
sb.append(">第").append(i).append("页</option>");
}
sb.append("</select>");
//定义goPage函数
sb.append("<script language='javascript'>");
sb.append("function goPage(willpage) {");
sb.append("window.location='").append(this.url).append("?page='+").append("willpage");
sb.append("}").append("</script>");
//System.out.println(sb.toString());
JspWriter out = this.pageContext.getOut();
try {
out.print(sb.toString());
}catch (Exception e) {
throw new JspException(e);
}
return EVAL_PAGE;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -