共58条记录 每页显示20条 第1页 / 共3页 第一页 上一页 下一页 最后一页 转到第页
58条数据在一页里全显示出来了,不分页
public ActionForward toListByPage(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
String type = request.getParameter("type");
if(type.equals("1")){
request.setAttribute("titleName", "通知公告");
}else if(type.equals("2")){
request.setAttribute("titleName", "政策法规");
}
ConsultForm myForm = (ConsultForm) form;
super.getConsultBiz().getListPa(myForm,type);
request.setAttribute("consultList", super.getConsultBiz().getListByType(type));
return mapping.findForward("listByPage");
}
public void getListPa(ConsultForm myForm,String type) {
String hql="from Consult o where o.type="+type+" order by o.id desc";
super.getCommonDAO().listByQuesPage(hql, myForm.getQuesResult());
}@SuppressWarnings("unchecked")
public void listByQuesPage(String hql, QuestionPageResult quesResult) {
if (null == hql) { return; }
Query query = session.createQuery(hql);
query.setFirstResult(quesResult.getFirstRec());
int a=quesResult.getFirstRec();
query.setMaxResults(quesResult.getPageSize());
int b=quesResult.getPageSize();
List ret = query.list();
quesResult.setList(ret);
String queryString = "";
if (hql.toUpperCase().indexOf("SELECT") != -1) {
int i = query.getQueryString().toUpperCase().indexOf("FROM");
queryString = "Select count(*) " + hql.substring(i, hql.length());
} else {
queryString = "Select count(*) " + hql;
}
// 去掉ORDER BY 的部分
int j = queryString.toUpperCase().lastIndexOf("ORDER");
if (j != -1){
queryString = queryString.substring(0, j);
}
Query cquery = session.createQuery(queryString);
cquery.setCacheable(true);
int recTotal = ((Long) cquery.iterate().next()).intValue();
quesResult.setRecTotal(recTotal);
}
解决方案 »
- eclipse开发servlet的时候错误404
- jquery select option的问题
- (急)Hibernate缓存问题,手动向mysql插入一条数据后,界面显示不出来
- 从别的电脑上怎么访问网页?
- Java怎么解决乱码问题
- 现在 想做一个好一点的新闻管理系统(后台),不知道有什么好的第三方插件?
- 在简体中文的JSP网页中,如何编码使输入的繁体中文保存到DB中而不会乱码?谢谢啦
- JavaBean问题救助。。。。。
- 两个web系统,sso(单点登录)怎么做?
- 急!谁知道很多web网站的文档是怎样做的?
- 简单问题求教,点击HTML页面的一个按钮然后弹出一个JAVA的窗口应该要怎么做?
- 在tomcat6.0下,jsp无法解析,但html可以显示
quesResult.getPageSize()是不是20?
import java.util.List;import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;public class PagerTld extends TagSupport { private static final long serialVersionUID = 1L; private List list;// 要显示的数据 private int pageCount = 15;// 每页显示的行数 private int begin = 0; private int pageNo = 1;// 页号 private int prePage = 0;// 上一页 private int nextPage = 0;// 下一页 private int lastPage = 0;// 尾页 private String pagePath;
public String getPagePath() {
return pagePath;
} public void setPagePath(String pagePath) {
this.pagePath = pagePath;
} public PagerTld() {
System.out.println("init");
} public int getPageCount() {
return pageCount;
} public void setPageCount(int pageCount) { this.pageCount = pageCount;
} public List getList() {
return list;
} public void setList(List list) {
this.list = list;
} public int getPageNo() {
return pageNo;
} public void setPageNo(int pageNo) {
this.pageNo = pageNo;
} @Override
public int doStartTag() throws JspException {
// TODO Auto-generated method stub
pageContext.getSession().setAttribute("pageCount", pageCount);
// HttpServletRequest request = (HttpServletRequest) pageContext
// .getRequest();
HttpSession session = pageContext.getSession();
// HttpServletResponse response = (HttpServletResponse) pageContext
// .getResponse();
JspWriter out = pageContext.getOut();
// String uri = request.getRequestURI();
computPage();
session.setAttribute("begin", begin);
session.setAttribute("pageCount", pageCount);
session.setAttribute("end", begin + pageCount - 1);
try {
// 显示分页导航
out
.print(" <FORM METHOD=GET ACTION='"
+ pagePath
+ "'>共"
+ list.size()
+ " 条记录 当前第"
+ pageNo
+ "/"
+ lastPage
+ "页 每页显示"
+ pageCount
+ "条 <a href='"
+ pagePath + "&pageNo=0'>首页</a> "
+ "<a href='" + pagePath
+ "&pageNo="+prePage+"'>上一页</a> " + "<a href='"
+ pagePath + "&pageNo="+nextPage+"'>下一页</a> "
+ "<a href='" + pagePath + "&pageNo=" + lastPage
+ "'>尾页</a>");
} catch (IOException e) { // TODO Auto-generated catch block
e.printStackTrace();
}
return SKIP_BODY;
} private void computPage() { if (pageNo <= 0) {
pageNo = 1;
}
begin = (pageNo - 1) * pageCount;
if (list.size() % pageCount != 0) {
lastPage = list.size() / pageCount + 1;
} else {
lastPage = list.size() / pageCount;
}
prePage=pageNo-1;
nextPage = pageNo+1;
if(prePage<=0){
prePage=1;
}
if(nextPage>lastPage){
nextPage=lastPage;
}
}}