1 在WEB-INF目录下面定义一个page.tld,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.2</tlibversion>
<jspversion>1.1</jspversion>
<shortname>html</shortname>
<uri>http://struts.apache.org/tags-html</uri>
<tag>
<name>newpage</name>
<tagclass>com.PageTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>pages</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>styleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>argPage</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>argTotal</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>pageSep</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>javaScript</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>showGo</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>showPerPageNum</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>showStatistics</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
2 com.PageTag的内容处理
import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.TagSupport;
import org.apache.commons.lang.StringUtils;
import com.Pages;
public class PageTag extends TagSupport {
protected String styleClass = "";
protected String argPage = "page";
protected String argTotal = "total";
protected int pageSep = 10;
protected String javaScript = "";
protected Pages pages=null;//自己定义的一个对象,用来储存分页的一些信息
protected boolean showGo=true;//是否要显示一个输入框,可以跳转到具体哪一页
protected boolean showPerPageNum=true;//是否显示设置每页的数量的功能
protected boolean showStatistics=true;//显示分页的一下统计信息
public PageTag() {
}
public int doStartTag() throws JspTagException {
return EVAL_BODY_INCLUDE;
}
public int doEndTag() throws JspTagException {
//一行显示页数
int pagesep = pages.getPerPageNum();
//总行数
int allpagesep = (int) Math.ceil( (pages.getAllPage() + pagesep - 1) / pagesep);
//当前行数
int cpagesep = (int) Math.ceil( (pages.getCpage() + pagesep - 1) / pagesep);
//当前一行显示页数
int cnum;
if (pages.getAllPage() > 0) {
//在页中
if (cpagesep != allpagesep) {
cnum = pagesep;
}
//页末
else {
cnum = pages.getAllPage() % pagesep;
//正好整除
if (cnum == 0) {
cnum = pagesep;
}
}
}
else {
cnum = 0;
}
//System.out.println("cpage:" + pages.getCpage() + " cpagesep:" + cpagesep + " allpagesep:" + allpagesep);
String fileName = pages.getFileName();
StringBuffer sb = new StringBuffer();
if (pages.isUseUrlRewrite()) { //使用URL Rewrite
if (StringUtils.isBlank(this.javaScript)) {
sb.append("<span ");
if (StringUtils.isNotBlank(this.styleClass)) {
sb.append(" class=\"");
sb.append(this.styleClass);
sb.append("\"");
}
sb.append(" >");
if (cpagesep > 1) {
String tmpFileName = fileName;
tmpFileName = this.replacePage(tmpFileName, 1);
tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
sb.append("<a href=\"");
sb.append(tmpFileName);
sb.append("\">");
//sb.append("|<");
// sb.append("«");
sb.append("<img src=\"images\\version2\\ssp\\icon1.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a>");
tmpFileName = fileName;
//往前一行
int previous;
if (pages.getCpage() <= 1) {
previous = 1;
}
else {
previous = pages.getCpage() - 1;
}
tmpFileName = this.replacePage(tmpFileName, previous);
tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
sb.append(" <a href=\"");
sb.append(tmpFileName);
sb.append("\">");
//sb.append("<");
// sb.append("‹");
sb.append("<img src=\"images\\version2\\ssp\\icon2.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a>");
}
for (int i = 0; i < cnum; i++) {
String tmpFileName = fileName;
tmpFileName = this.replacePage(tmpFileName, ( (i + 1) + ( (cpagesep - 1) * pagesep)));
tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
if (pages.getCpage() == (i + 1)+ ((cpagesep - 1) * pagesep)) {
sb.append(" <a href=\"");
sb.append(tmpFileName);
sb.append("\" style=\"border:solid 1px #AF0000;text-decoration:none;font-size:14px;padding:3px 3px 0px 3px;\">");
sb.append("<strong style=\"color:#AF0000;\">");
sb.append((i + 1) + ((cpagesep - 1) * pagesep));
sb.append("</strong>");
} else {
sb.append(" <a href=\"");
sb.append(tmpFileName);
sb.append("\" style=\"border:solid 1px #80AFE0;text-decoration:none;font-size:14px;padding:3px 3px 0px 3px;color:black;\">");
sb.append(((i + 1) + ((cpagesep - 1) * pagesep)));
}
sb.append("</a>");
}
if (cpagesep < allpagesep) {
String tmpFileName = fileName;
int next;
if (pages.getCpage() >= pages.getAllPage()) {
next = (int) pages.getAllPage();
}
else {
next = pages.getCpage() + 1;
}
tmpFileName = this.replacePage(tmpFileName, next);
tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
sb.append(" <a href=\"");
sb.append(tmpFileName);
sb.append("\">");
// sb.append("›");
sb.append("<img src=\"images\\version2\\ssp\\icon3.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a> ");
tmpFileName = fileName;
tmpFileName = this.replacePage(tmpFileName, pages.getAllPage());
tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
sb.append(" <a href=\"");
sb.append(tmpFileName);
sb.append("\">");
//sb.append(">|");
// sb.append("»");
sb.append("<img src=\"images\\version2\\ssp\\icon4.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a>");
}
sb.append("</span>");
}
else {
sb.append("<span");
if (StringUtils.isNotBlank(this.styleClass)) {
sb.append(" class=\"");
sb.append(this.styleClass);
sb.append("\"");
}
sb.append(">");
if (cpagesep > 1) {
String tmpFileName = fileName;
tmpFileName = this.replacePage(tmpFileName, 1);
tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
sb.append("<a href=\"javascript:;\" οnclick=\"");
sb.append(this.javaScript);
sb.append("('");
sb.append(tmpFileName);
sb.append("');\">");
//sb.append("\">");
//sb.append("|<");
// sb.append("«");
sb.append("<img src=\"images\\version2\\ssp\\icon1.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a>");
tmpFileName = fileName;
//往前一行
int previous;
if (pages.getCpage() <= 1) {
previous = 1;
}
else {
previous = pages.getCpage() - 1;
}
tmpFileName = this.replacePage(tmpFileName, previous);
tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
//sb.append(" <a href=\"");
//sb.append(tmpFileName);
//sb.append("\">");
//sb.append("<");
sb.append("<a href=\"javascript:;\" οnclick=\"");
sb.append(this.javaScript);
sb.append("('");
sb.append(tmpFileName);
sb.append("');\">");
sb.append("<img src=\"images\\version2\\ssp\\icon2.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
// sb.append("‹");
sb.append("</a>");
}
for (int i = 0; i < cnum; i++) {
String tmpFileName = fileName;
tmpFileName = this.replacePage(tmpFileName, ( (i + 1) + ( (cpagesep - 1) * pagesep)));
tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
//sb.append(" <a href=\"");
//sb.append(tmpFileName);
//sb.append("\">");
sb.append("<a href=\"javascript:;\" οnclick=\"");
sb.append(this.javaScript);
sb.append("('");
sb.append(tmpFileName);
sb.append("');\">");
if (pages.getCpage() == (i + 1) + ( (cpagesep - 1) * pagesep)) {
sb.append("<strong>");
sb.append( (i + 1) + ( (cpagesep - 1) * pagesep));
sb.append("</strong>");
}
else {
sb.append( ( (i + 1) + ( (cpagesep - 1) * pagesep)));
}
sb.append("</a>");
}
if (cpagesep < allpagesep) {
String tmpFileName = fileName;
int next;
if (pages.getCpage() >= pages.getAllPage()) {
next = (int) pages.getAllPage();
}
else {
next = pages.getCpage() + 1;
}
tmpFileName = this.replacePage(tmpFileName, next);
tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
//sb.append(" <a href=\"");
//sb.append(tmpFileName);
//sb.append("\">");
sb.append("<a href=\"javascript:;\" οnclick=\"");
sb.append(this.javaScript);
sb.append("('");
sb.append(tmpFileName);
sb.append("');\">");
// sb.append("›");
sb.append("<img src=\"images\\version2\\ssp\\icon3.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a> ");
tmpFileName = fileName;
tmpFileName = this.replacePage(tmpFileName, pages.getAllPage());
tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
//sb.append(" <a href=\"");
//sb.append(tmpFileName);
//sb.append("\">");
sb.append("<a href=\"javascript:;\" οnclick=\"");
sb.append(this.javaScript);
sb.append("('");
sb.append(tmpFileName);
sb.append("');\">");
//sb.append(">|");
// sb.append("»");
sb.append("<img src=\"images\\version2\\ssp\\icon4.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a>");
}
sb.append("</span>");
}
}
else { //不使用URL Rewrite
if (fileName.indexOf("?") == -1) {
fileName = fileName + "?";
}
else {
if (!fileName.endsWith("&")) {
fileName = fileName + "&";
}
}
if (StringUtils.isBlank(this.javaScript)) {
/**
* previous butten ,append to
* <a href='xxx.lt?page=x&t=x'><img></a>
*/
sb.append("<span");
if (StringUtils.isNotBlank(this.styleClass)) {
sb.append(" class=\"");
sb.append(this.styleClass);
sb.append("\"");
}
sb.append(">");
if (cpagesep > 1) {
sb.append("<a href=\"");
sb.append(fileName);
sb.append(this.getArgPage());
sb.append("=1&");
sb.append(this.argTotal);
sb.append("=");
sb.append(pages.getTotalNum());
sb.append("\">");
//sb.append("|<");
// sb.append("«");
sb.append("<img src=\"images\\version2\\ssp\\icon1.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a>");
sb.append(" <a href=\"");
sb.append(fileName);
sb.append(this.getArgPage());
sb.append("=");
//往前一行
int previous;
if (pages.getCpage() <= 1) {
previous = 1;
}
else {
previous = pages.getCpage() - 1;
}
sb.append(previous);
//sb.append("&total=");
sb.append("&");
sb.append(this.argTotal);
sb.append("=");
sb.append(pages.getTotalNum());
sb.append("\">");
//sb.append("<");
// sb.append("‹");
sb.append("<img src=\"images\\version2\\ssp\\icon2.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a>");
}
/**
* middle butten ,append to
* <a href='xxx.lt?page=x&t=x'><img></a>
*/
for (int i = 0; i < cnum; i++) {
sb.append(" <a href=\"");
sb.append(fileName);
sb.append(this.getArgPage());
sb.append("=");
sb.append( ( (i + 1) + ( (cpagesep - 1) * pagesep)));
sb.append("&");
sb.append(this.argTotal);
sb.append("=");
sb.append(pages.getTotalNum());
sb.append("\">");
if (pages.getCpage() == (i + 1) + ( (cpagesep - 1) * pagesep)) {
sb.append("<strong>");
sb.append( (i + 1) + ( (cpagesep - 1) * pagesep));
sb.append("</strong>");
}
else {
sb.append( ( (i + 1) + ( (cpagesep - 1) * pagesep)));
}
sb.append("</a>");
}
/**
* next butten ,append to
* <a href='xxx.lt?page=x&t=x'><img></a>
*/
if (cpagesep < allpagesep) {
sb.append(" <a href=\"");
//sb.append(pages.getFileName());
sb.append(fileName);
sb.append(this.getArgPage());
sb.append("=");
//sb.append("page=");
int next;
if (pages.getCpage() >= pages.getAllPage()) {
next = (int) pages.getAllPage();
}
else {
next = pages.getCpage() + 1;
}
sb.append(next);
sb.append("&");
sb.append(this.argTotal);
sb.append("=");
//sb.append("&t=");
sb.append(pages.getTotalNum());
sb.append("\">");
//sb.append(">");
// sb.append("›");
sb.append("<img src=\"images\\version2\\ssp\\icon3.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a> ");
sb.append(" <a href=\"");
//sb.append(pages.getFileName());
sb.append(fileName);
sb.append(this.getArgPage());
sb.append("=");
//sb.append("page=");
sb.append(pages.getAllPage());
sb.append("&");
sb.append(this.argTotal);
sb.append("=");
//sb.append("&t=");
sb.append(pages.getTotalNum());
sb.append("\">");
//sb.append(">|");
// sb.append("»");
sb.append("<img src=\"images\\version2\\ssp\\icon4.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a>");
}
sb.append("</span>");
}
else {
/**
* previous butten ,append to
* <a href='xxx.lt?page=x&t=x'><img></a>
*/
sb.append("<span");
if (StringUtils.isNotBlank(this.styleClass)) {
sb.append(" class=\"");
sb.append(this.styleClass);
sb.append("\"");
}
sb.append(">");
if (cpagesep > 1) {
sb.append("<a href=\"javascript:;\" οnclick=\"");
sb.append(this.javaScript);
sb.append("('");
sb.append(fileName);
sb.append(this.getArgPage());
sb.append("=1&");
sb.append(this.argTotal);
sb.append("=");
sb.append(pages.getTotalNum());
sb.append("');\">");
//sb.append("|<");
// sb.append("«");
sb.append("<img src=\"images\\version2\\ssp\\icon1.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a>");
//sb.append(" <a href=\"");
sb.append(" <a href=\"javascript:;\" οnclick=\"");
sb.append(this.javaScript);
sb.append("('");
sb.append(fileName);
sb.append(this.getArgPage());
sb.append("=");
//往前一行
int previous;
if (pages.getCpage() <= 1) {
previous = 1;
}
else {
previous = pages.getCpage() - 1;
}
sb.append(previous);
//sb.append("&total=");
sb.append("&");
sb.append(this.argTotal);
sb.append("=");
sb.append(pages.getTotalNum());
//sb.append("\">");
sb.append("');\">");
//sb.append("<");
// sb.append("‹");
sb.append("<img src=\"images\\version2\\ssp\\icon2.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a>");
}
/**
* middle butten ,append to
* <a href='xxx.lt?page=x&t=x'><img></a>
*/
for (int i = 0; i < cnum; i++) {
//sb.append(" <a href=\"");
sb.append(" <a href=\"javascript:;\" οnclick=\"");
sb.append(this.javaScript);
sb.append("('");
sb.append(fileName);
sb.append(this.getArgPage());
sb.append("=");
sb.append( ( (i + 1) + ( (cpagesep - 1) * pagesep)));
sb.append("&");
sb.append(this.argTotal);
sb.append("=");
sb.append(pages.getTotalNum());
//sb.append("\">");
sb.append("');\">");
if (pages.getCpage() == (i + 1) + ( (cpagesep - 1) * pagesep)) {
sb.append("<strong>");
sb.append( (i + 1) + ( (cpagesep - 1) * pagesep));
sb.append("</strong>");
}
else {
sb.append( ( (i + 1) + ( (cpagesep - 1) * pagesep)));
}
sb.append("</a>");
}
/**
* next butten ,append to
* <a href='xxx.lt?page=x&t=x'><img></a>
*/
if (cpagesep < allpagesep) {
//sb.append(" <a href=\"");
//sb.append(pages.getFileName());
sb.append(" <a href=\"javascript:;\" οnclick=\"");
sb.append(this.javaScript);
sb.append("('");
sb.append(fileName);
sb.append(this.getArgPage());
sb.append("=");
//sb.append("page=");
int next;
if (pages.getCpage() >= pages.getAllPage()) {
next = (int) pages.getAllPage();
}
else {
next = pages.getCpage() + 1;
}
sb.append(next);
sb.append("&");
sb.append(this.argTotal);
sb.append("=");
//sb.append("&t=");
sb.append(pages.getTotalNum());
//sb.append("\">");
sb.append("');\">");
//sb.append(">");
// sb.append("›");
sb.append("<img src=\"images\\version2\\ssp\\icon3.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a> ");
//sb.append("<a href=\"");
//sb.append(pages.getFileName());
sb.append(" <a href=\"javascript:;\" οnclick=\"");
sb.append(this.javaScript);
sb.append("('");
sb.append(fileName);
sb.append(this.getArgPage());
sb.append("=");
//sb.append("page=");
sb.append(pages.getAllPage());
sb.append("&");
sb.append(this.argTotal);
sb.append("=");
//sb.append("&t=");
sb.append(pages.getTotalNum());
//sb.append("\">");
sb.append("');\">");
//sb.append(">|");
// sb.append("»");
sb.append("<img src=\"images\\version2\\ssp\\icon4.gif\" border=\"0px\" width=\"10px\" hight=\"11px\">");
sb.append("</a>");
}
}
}
/*************添加 具体跳转到某一页的功能*****************************/
/** <form action="ouserinfo.do?action=showUserInfo" method="post" target="_self">
<input type="text" name="page" style="width:20px;"/>
<input type="hidden" name="total" value="50" />
<input type="hidden" name="perpage" value="10" />
<input type="submit" value="GO" style="background: white;border: solid 1px #80AFE0;"/>
</form>
**/
String subfilename=subFileName(fileName);
if(showGo)
{
sb.append("<form action='"+subfilename+"' method='post' target='_self' style='display: inline;margin:0px 3px;'>");
sb.append("<input type='text' name='page' style='width:20px;hight:16px;'/>");
sb.append("<input type='hidden' name='total' value='"+pages.getTotalNum()+"' />");
sb.append("<input type='hidden' name='perpage' value='"+pages.getPerPageNum()+"' />");
sb.append("<input type='submit' value='GO' style='background: white;border: solid 1px #80AFE0;font-size:14px;hight:16px;'/>");
sb.append("</form>");
}
/**************添加动态设置每页显示的记录数目*********************************/
/**
<form action="ouserinfo.do?action=showUserInfo" method="post" target="_self" style="display: inline">
<input type="hidden" name="page" value="1" />
<input type="hidden" name="total" value="50" />
<input type="hidden" name="perpage" value="5" />
<input type="submit" value="5" style="background: white;border: solid 1px #80AFE0;"/>
</form>
*/
if(showPerPageNum)
{
for(int i=1;i<5;i++)
{
sb.append("<form action='"+subfilename+"' method='post' target='_self' style='display: inline;margin:0px;'>");
sb.append("<input type='hidden' name='page' value='"+pages.getPage()+"'/>");
sb.append("<input type='hidden' name='total' value='"+pages.getTotalNum()+"' />");
sb.append("<input type='hidden' name='perpage' value='"+(i*5)+"' />");
if((i*5)==pages.getPerPageNum())
sb.append("<input type='submit' value='"+(i*5)+"' style='background: white;border: solid 1px #80AFE0;color:#AF0000;font-size:12px;'/>");
else
sb.append("<input type='submit' value='"+(i*5)+"' style='background: white;border: solid 1px #80AFE0;font-size:12px;'/>");
sb.append("</form>");
}
}
if(showStatistics)
{
sb.append("<span style='border: solid 1px #80AFE0;margin:0px 3px 2px 3px;font-size:14px;padding:3px 3px 0px 3px;'>");
sb.append(pages.getTotalNum());
sb.append("|");
sb.append(pages.getPerPageNum());
sb.append("</span>");
sb.append("<span style='border: solid 1px #80AFE0;margin:0px 3px 2px 3px;font-size:14px;padding:3px 3px 0px 3px;'>");
sb.append(cpagesep);
sb.append("|");
sb.append(allpagesep);
sb.append("</span>");
}
sb.append("</span>");
try {
pageContext.getOut().print(sb);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return (SKIP_BODY);
}
public String replacePage(String txt, int page) {
return txt.replaceAll("\\{page\\}", String.valueOf(page));
}
public String replaceTotal(String txt, int total) {
return txt.replaceAll("\\{total\\}", String.valueOf(total));
}
public String subFileName(String txt) {
return txt.substring(0,txt.indexOf((int)'&'));
}
public String getStyleClass() {
return styleClass;
}
public void setStyleClass(String styleClass) {
this.styleClass = styleClass;
}
public String getArgPage() {
return argPage;
}
public void setArgPage(String argPage) {
this.argPage = argPage;
}
public String getArgTotal() {
return argTotal;
}
public void setArgTotal(String argTotal) {
this.argTotal = argTotal;
}
public int getPageSep() {
return pageSep;
}
public void setPageSep(int pageSep) {
this.pageSep = pageSep;
}
public String getJavaScript() {
return javaScript;
}
public void setJavaScript(String javaScript) {
this.javaScript = javaScript;
}
public Pages getPages() {
return pages;
}
public void setPages(Pages pages) {
this.pages = pages;
}
}
3 程序代码的运用:
String pageindex=request.getParameter("page");
String totaltemp=request.getParameter("total");
String perpage=request.getParameter("perpage");
Integer groupid=null;
Integer total=null;
Integer pageindextemp=1;
if(groupidString!=null && !"".equals(groupidString) && !"null".endsWith(groupidString))
{
groupid=Integer.valueOf(groupidString);
}
List userinfostotal=platformService.findManager();//查询的所有记录
total=userinfostotal.size();
if(pageindex!=null && !"".equals(pageindex))
{
pageindextemp=Integer.valueOf(pageindex);
}
List managergroup=platformService.findManagerGroupByUIdName(null, null,us.getId());//用户的所以组
com.Pages pages = new com.Pages();
pages.setPage(pageindextemp);
if(perpage!=null && !"".equals(perpage))
pages.setPerPageNum(Integer.valueOf(perpage));
else
pages.setPerPageNum(10);
pages.setUseUrlRewrite(true);
String url="";//分页的链接
if(groupid!=null)
{
url="ouserinfo.do?action=showUserInfo&groupid="+groupid+"&page={page}&total={total}&perpage="+pages.getPerPageNum();
}
else
{
url="ouserinfo.do?action=showUserInfo&page={page}&total={total}&perpage="+pages.getPerPageNum();
}
pages.setFileName(url);
pages.setTotalNum(total);
pages.executeCount();
List userinfos=platformService.findManager(pages.getSpage(),pages.getPerPageNum());//所选的分页的页面的记录
request.setAttribute("userinfos", userinfos);
request.setAttribute("pages", pages);
return mapping.findForward("******");
4 jsp页面的调用
<%@ taglib uri="/WEB-INF/page.tld" prefix="pppp"%>
<pppp:page pages="${pages}" />
5 界面
在附件里面。