搜索
您的当前位置:首页正文

display table

来源:哗拓教育


简介:

Row取个别名

newsInformationList 结果集 Pagesize 每页显示的记录数

Size 单元格大小跟单元格内容多少有关

column 代表一行 articleTitile对象属性 title 此列标题名,就想每个table列的第一行显示的内容。 Sort 排序问题

例题

页面:

decorator=\"org.displaytag.decorator.TotalTableDecorator\"

requestURI=\"/admin/newsInformationListController.do?method=listByName\"> href=\"/admin/newsInformationListController.do?method=see&id=${row.id}\">浏览    href=\"/admin/newsInformationListController.do?method=edit&id=${row.id}\">编辑     编辑  href=\"/admin/newsInformationListController.do?method=seeTwo&id=${row.id}&url=${row.articleUrl}\">浏览     编辑 

href=\"/admin/newsInformationListController.do?method=del&id=${row.id}&userId=${userId }\">删除  删除 

Action写法: 方法内容:

String actiocleName = request.getParameter(\"titleName\"); int pageNumber = ParamUtil.getInt(request, \"d-16544-p\",1); int pageSize = 10; Page page = new Page(pageNumber,pageSize); page=newsInformationManager.getPageForRole(page, actiocleName); List newsInformationList = page.getList(); System.out.println(newsInformationList.size() + \" size===========\"); if(newsInformationList.size()==0){ model.put(\"newsInformationList\", null); }else{ model.put(\"newsInformationList\", newsInformationList); } request.setAttribute(\"resultSize\", page.getTotalRecord()); model.put(\"titleName\",actiocleName); model.put(\"newsInformationList\",newsInformationList); model.put(\"pageNumber\",pageNumber); String userId = request.getParameter(\"userId\"); request.setAttribute(\"userId\", userId); return new ModelAndView(\"../view/admin/newsInformationList\",model);

其中有调用到page方法 如下

package cn.eol.sou.back.page;

import java.io.Serializable; import java.util.List;

@SuppressWarnings(\"serial\")

public class Page implements Serializable { private int currentPage; private int totalPage; private boolean hasNextPage; private boolean hasPrevPage; private int totalRecord; private List list; private int pageSize; private int PageNumber; private int PerPage; private void initPage(){ currentPage = 1; totalPage = 0; hasNextPage = false; hasPrevPage = false; totalRecord = 0; list = null; pageSize = 20; } public Page(){ initPage(); } public Page(int page,int pageSize){ initPage(); setPageSize(pageSize); setCurrentPage(page); } public Page(int page){ initPage(); setCurrentPage(page); } public int getCurrentPage() { return currentPage; } public int getStartRecord(){ int s = (this.currentPage-1)*this.pageSize; if(s>=this.totalRecord) return this.totalRecord; return s; } public int getEndRecord(){ int s = this.currentPage*pageSize; if(s>=this.totalRecord) return this.totalRecord; return s; } public void setCurrentPage(int currentPage) { if(currentPage<=0) currentPage = 1; this.currentPage = currentPage; } public boolean isHasNextPage() { return hasNextPage; } public boolean isHasPrevPage() {

return hasPrevPage; } public List getList() { return list; } public void setList(List list) { this.list = list; } public int getTotalPage() { return totalPage; } private void setTotalPage(int totalPage) { if(totalPage<=0) totalPage = 1; this.totalPage = totalPage; if(this.currentPage>totalPage) this.currentPage = totalPage; if(this.currentPage>= totalPage) this.hasNextPage = false; else this.hasNextPage = true; if(this.currentPage<=1) this.hasPrevPage = false; else this.hasPrevPage = true; } public int getTotalRecord() { return totalRecord; } public void setTotalRecord(int totalRecord) { if(totalRecord <= 0){ initPage(); }else{ int p = totalRecord/this.pageSize; if(totalRecord%this.pageSize>0) p++; setTotalPage(totalRecord%this.pageSize>0?(totalRecord/this.pageSize+1):totalRecord/this.pageSize); this.totalRecord = totalRecord; } } public int getPageSize() { return pageSize; } private void setPageSize(int pageSize) { if(pageSize<=0) pageSize = 20; this.pageSize = pageSize; } public int getPageNumber() { return PageNumber; } public void setPageNumber(int pageNumber) { PageNumber = pageNumber; } public int getPerPage() {

}

return PerPage; }

public void setPerPage(int perPage) { PerPage = perPage; }

getPageForRole方法service只是直接调用的dao方法,不在写,直接写dao方法 第二个参数是结果集塞选条件,无条件可为空,第一个参数及page对象

代码如下 注意:page必须为final类型,表示只要创建之后就不许修改,及常量!!(service参数同样)

public Page getPageForRole(final Page page,String filter){ String hql=\"\"; if(filter !=\"\" && filter!=null){ hql = \"from NewsInformation where articleTitile like '%\"+filter+\"%' order by id desc\"; page.setTotalRecord(getTotal(\"select count(*) from NewsInformation where articleTitile like '%\"+filter+\"%'\")); }else{ hql = \"from NewsInformation order by id desc\"; page.setTotalRecord(getTotal(\"select count(*) from NewsInformation \")); } final int start=page.getStartRecord(); final int pageSize=page.getPageSize(); final String sql=hql; List list = getHibernateTemplate().executeFind( new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = getSession().createQuery(sql); query.setFirstResult(start); query.setMaxResults(pageSize); List list = new ArrayList(); list = query.list(); return list; } } ); page.setList(list); return page; }

因篇幅问题不能全部显示,请点此查看更多更全内容

Top