1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
| package top.code666.utils;
import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.Tag; import javax.servlet.jsp.tagext.TagSupport;
public class PageTag extends TagSupport{ private PageContext pageContext;
private String pageIndexName;
private String pageCountName;
private String url;
public String getPageIndexName() { return pageIndexName; }
public void setPageIndexName(String pageIndexName) { this.pageIndexName = pageIndexName; }
public String getPageCountName() { return pageCountName; }
public void setPageCountName(String pageCountName) { this.pageCountName = pageCountName; }
public String getUrl() { return url; }
public void setUrl(String url) { this.url = url; }
@Override public int doStartTag() throws JspException { JspWriter out = pageContext.getOut(); HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); int pageCount = (Integer) request.getAttribute(pageCountName); int pageIndex = request.getParameter(pageIndexName)==null?1:Integer.parseInt(request.getParameter(pageIndexName));
String reqUrl = ""; if(url.contains("?")){ reqUrl = url+"&curPage="; }else{ reqUrl = url+"?curPage="; }
StringBuilder sb = new StringBuilder(); sb.append("<nav aria-label=\"Page navigation\"><ul class=\"pagination\">"); sb.append("<li><a href=\"/okCart/\"> 首页</a></li>"); for(int i = 1;i<=pageCount;i++){ if(pageIndex == i){ sb.append("<li class=\"active\"><span>"+i+"</span></li>"); }else{ sb.append("<li><a href=\""+reqUrl+String.valueOf(i)+"\">"+i+"</a></li>"); } } sb.append("<li><a href=\""+reqUrl+String.valueOf(pageCount)+"\">尾页</a></li>"); sb.append("</ul></nav>"); try { out.print(sb.toString()); } catch (IOException e) { e.printStackTrace(); } return Tag.EVAL_PAGE; }
@Override public int doEndTag() throws JspException { return super.doEndTag(); }
@Override public void setPageContext(PageContext pageContext) { this.pageContext = pageContext; } }
|