我这分页是公司的,比如说我查询全部然后分页点第三页,然后再条件查询,应该回到这个条件查询的第一页。但是还是停留在了条件查询的第三页。怎么回到这个条件查询的第一页?
这是公司封装的分页
package com.qiujy.web.tags;import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.TagSupport;public class PagerTag extends TagSupport { public PagerTag() {
pageSize = 10;
pageNo = 1;
recordCount = 0;
} public int doStartTag() throws JspException {
StringBuilder sb = new StringBuilder();
sb.append("<style type=\"text/css\">");
sb.append(".pagination {padding: 5px;float:right;font-size:12px;}");
sb
.append(".pagination a, .pagination a:link, .pagination a:visited {padding:2px 5px;margin:2px;border:1px solid #aaaadd;text-decoration:none;color:#006699;}");
sb
.append(".pagination a:hover, .pagination a:active {border: 1px solid #ff0000;color: #000;text-decoration: none;}");
sb
.append(".pagination span.current {padding: 2px 5px;margin: 2px;border: 1px solid #ff0000;font-weight: bold;background-color: #ff0000;color: #FFF;}");
sb
.append(".pagination span.disabled {padding: 2px 5px;margin: 2px;border: 1px solid #eee; color: #ddd;}");
sb.append("</style>\r\n");
sb.append("<div class=\"pagination\">\r\n");
if (recordCount == 0) {
sb.append("<strong>没有可显示的项目</strong>\r\n");
} else {
int pageCount = ((recordCount + pageSize) - 1) / pageSize;
if (pageNo > pageCount)
pageNo = pageCount;
if (pageNo < 1)
pageNo = 1;
sb.append("<form method=\"post\" action=\"").append(url).append(
"\" name=\"qPagerForm\">\r\n");
HttpServletRequest request = (HttpServletRequest) pageContext
.getRequest();
Enumeration enumeration = request.getParameterNames();
String name = null;
String value = null;
while (enumeration.hasMoreElements()) {
name = (String) enumeration.nextElement();
value = request.getParameter(name);
if (name.equals("pageNo")) {
if (value != null && !"".equals(value))
pageNo = Integer.parseInt(value);
} else {
sb.append("<input type=\"hidden\" name=\"").append(name)
.append("\" value=\"").append(value).append(
"\"/>\r\n");
}
}
sb.append("<input type=\"hidden\" name=\"").append("pageNo")
.append("\" value=\"").append(pageNo).append("\"/>\r\n");
sb.append("&nbsp;共<strong>").append(recordCount).append(
"</strong>项").append(",<strong>").append(pageCount).append(
"</strong>页:&nbsp;\r\n");
if (pageNo == 1)
sb.append("<span class=\"disabled\">&laquo;&nbsp;上一页").append(
"</span>\r\n");
else
sb.append("<a href=\"javascript:turnOverPage(").append(
pageNo - 1).append(")\">&laquo;&nbsp;上一页</a>\r\n");
int start = 1;
if (pageNo > 4) {
start = pageNo - 1;
sb.append("<a href=\"javascript:turnOverPage(1)\">1</a>\r\n");
sb.append("<a href=\"javascript:turnOverPage(2)\">2</a>\r\n");
sb.append("&hellip;\r\n");
}
int end = pageNo + 1;
if (end > pageCount)
end = pageCount;
for (int i = start; i <= end; i++)
if (pageNo == i)
sb.append("<span class=\"current\">").append(i).append(
"</span>\r\n");
else
sb.append("<a href=\"javascript:turnOverPage(").append(i)
.append(")\">").append(i).append("</a>\r\n"); if (end < pageCount - 2)
sb.append("&hellip;\r\n");
if (end < pageCount - 1)
sb.append("<a href=\"javascript:turnOverPage(").append(
pageCount - 1).append(")\">").append(pageCount - 1)
.append("</a>\r\n");
if (end < pageCount)
sb.append("<a href=\"javascript:turnOverPage(").append(
pageCount).append(")\">").append(pageCount).append(
"</a>\r\n");
if (pageNo == pageCount)
sb.append("<span class=\"disabled\">下一页&nbsp;&raquo;").append(
"</span>\r\n");
else
sb.append("<a href=\"javascript:turnOverPage(").append(
pageNo + 1).append(")\">下一页&nbsp;&raquo;</a>\r\n");
sb.append("</form>\r\n");
sb.append("<script language=\"javascript\">\r\n");
sb.append("  function turnOverPage(no){\r\n");
sb.append("    if(no>").append(pageCount).append("){");
sb.append("      no=").append(pageCount).append(";}\r\n");
sb.append("    if(no<1){no=1;}\r\n");
sb.append("    document.qPagerForm.pageNo.value=no;\r\n");
sb.append("    document.qPagerForm.submit();\r\n");
sb.append("  }\r\n");
sb.append("</script>\r\n");
}
sb.append("</div>\r\n");
try {
pageContext.getOut().write(sb.toString());
} catch (IOException e) {
throw new JspException(e);
}
return 0;
} public void setUrl(String url) {
this.url = url;
} public void setPageSize(int pageSize) {
this.pageSize = pageSize;
} public void setPageNo(int pageNo) {
this.pageNo = pageNo;
} public void setRecordCount(int recordCount) {
this.recordCount = recordCount;
} private static final long serialVersionUID = 5729832874890369508L;
private String url;
private int pageSize;
private int pageNo;
private int recordCount;

这分页实体
public class PageModel<T> { /** 当前页号 */
private int pageNo = 1;
/** 每页显示的记录条数 */
private int pageSize = 10;
/** 总记录数 */
private long recordCount;
/** 存放分页数据的集合 */
private List<T> datas; /** 总页数根据pageSize和recordCount计算得出 */
private int pageCount; public PageModel() {
} public PageModel(int pageNo, int pageSize) {
this.pageNo = pageNo;
this.pageSize = pageSize;
} public int getPageNo() {
return pageNo;
} public void setPageNo(int pageNo) {
this.pageNo = pageNo;
} public int getPageSize() {
return pageSize;
} public void setPageSize(int pageSize) {
this.pageSize = pageSize;
} public long getRecordCount() {
return recordCount;
} public void setRecordCount(long recordCount) {
this.recordCount = recordCount;
} public int getPageCount() {
if (this.getRecordCount() <= 0) {
return 0;
} else {
pageCount = (int) ((recordCount + pageSize - 1) / pageSize);
return pageCount;
}
} public List<T> getDatas() {
return datas;
} public void setDatas(List<T> datas) {
this.datas = datas;
}
}
这是标签文件
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
<tlib-version>5.0</tlib-version>
<short-name>t</short-name>
<uri>http://www.tjitcast.com/jsp/tags</uri>

<!-- 自定义标签的描述信息 -->
<tag>
<!-- 标签名 -->
<name>pager</name>
<!-- 对应的标签处理类全限定名 -->
<tag-class>com.qiujy.web.tags.PagerTag</tag-class>
<!-- 标签主体的类型 -->
<body-content>empty</body-content>
<!-- 当前页号属性的描述信息 -->
<attribute>
<!-- 属性名 -->
<name>pageNo</name>
<!-- 该属性是否为必要的 -->
<required>true</required>
<!-- 属性值是否可以在JSP运行时期动态产生 -->
<rtexprvalue>true</rtexprvalue>
<!-- 属性的数据类型 -->
<type>int</type>
</attribute>
<!-- 总记录数属性的描述信息 -->
<attribute>
<name>recordCount</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<!-- 总页数属性的描述信息 -->
<attribute>
<name>pageSize</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<!-- 分页标签要跳转的URI属性的描述信息 -->
<attribute>
<name>url</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
</tag>
</taglib>分页page

解决方案 »

  1.   

    action        public int getPageNo() {
    return pageNo;
    }
    public void setPageNo(int pageNo) {
    this.pageNo = pageNo;
    }
    public int getPageSize() {
    return pageSize;
    }
    public void setPageSize(int pageSize) {
    this.pageSize = pageSize;
    }
    查询全部方法        PageModel<EquipmentPrompt> pm = equipmentPromptService.findAll(pageNo, pageSize);
    put2ActionContext("pm", pm);PageModel类 /** 当前页号 */
    private int pageNo = 1;
    /** 每页显示的记录条数 */
    private int pageSize = 10;
    /** 总记录数 */
    private long recordCount;
    /** 存放分页数据的集合 */
    private List<T> datas; /** 总页数根据pageSize和recordCount计算得出 */
    private int pageCount;这样写就是我说的那样。
    然后你说把方法里的pageNo改成1?改完之后分页都是一样的数据了。都是第一页的数据
      

  2.   

    action 是这样的  那个发错了        private int pageNo=1;
    private int pageSize=10;
    private EquipmentPromptService equipmentPromptService;
    private PromptTypeService promptTypeService;

    public int getPageNo() {
    return pageNo;
    }
    public void setPageNo(int pageNo) {
    this.pageNo = pageNo;
    }
    public int getPageSize() {
    return pageSize;
    }
    public void setPageSize(int pageSize) {
    this.pageSize = pageSize;
    }
      

  3.   

    再条件查询的你把pageSize手动设置为1,这样提交后台就获得1