//---------------------------------------------------------- // ShowData.java - myservlet //---------------------------------------------------------- package myservlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import myjava.util.Uty; /** * Servlet implementation class DrawPageNavi */ public class ShowPageNavi extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String rstr = ""; int pgCount = Uty.s2i(Common.getParam(request,"pgCount" )); if (pgCount > 1) { String onclick = Common.getParam(request, "onClick"); int pgNumber = Uty.s2i(Common.getParam(request,"pgNumber")); // draw Preview String href = (pgNumber > 1) ? " onclick='" + onclick + "(" +(pgNumber-1)+ ")'" : ""; rstr += "<li class='lastpage' "+ href +">上一页</li>"; int page_ge = pgNumber > 7 ? pgNumber - 4 : 1; int page_le = page_ge + 8; if (pgCount - page_le < 3) { page_le = pgCount; page_ge = page_le > 11 ? page_le - 8 : 1; } if (page_ge > 1) { rstr += "<li><a onclick='"+ onclick +"(1)'>1</a></li>"; rstr += "<li><a>...</a></li>"; } for (int i = page_ge; i <= page_le; i++) { if (i==pgNumber) { rstr += "<li><a class='active'>"+ pgNumber +"</a></li>"; } else { rstr += "<li><a onclick='" + onclick + "(" + i +")'>" + i +"</a></li>"; } } if (page_le < pgCount) { rstr += "<li><a>...</a></li>"; rstr += "<li><a onclick='"+ onclick +"("+ pgCount +")'>"+ pgCount +"</a></li>"; } // draw Next href = (pgNumber < pgCount) ? " onclick='" + onclick + "(" + (pgNumber + 1) +")'" : ""; rstr += "<li class='lastpage' "+ href +">下一页</li>"; } response.setCharacterEncoding("utf-8"); response.getWriter().append(rstr); } }
效果
浙公网安备 33010602011771号