只有vo servcie action 不写Dao怎么写分页呢有哪个大神帮忙解决一下噻
解决方案 »
- 一个简单的applet键盘监听事件
- 【SOS】Hibernate Tools 3.2的问题
- poi 读取excel(03和07版本)--小结
- 怎么把<select>...</select>选到的值传递到下个JSP页面?
- 求<html:multibox〉的全选的js该怎样写? 坐等!!!
- 求救!如何上传图片?????up有分!!!!急。。。。。
- 在Win2000下开发JSP,怎样直接用JDBC而不用连接桥???哪们高手知道?
- 什么从表单里提交的中文数据都变成了"?"
- 请问没有邮件服务器,怎么测试发送邮件程序,急!!
- tomcat作为web服务器的上传的文件的保存路径问题
- jsp显示数据
- 一个关于jsp/servlet错误页面的问题
HashMap<Integer, List> ha = new HashMap<Integer, List>();
// 得到总页数
int zys = 1;
if (hs > list.size())
zys = 1;
if (list.size() % hs == 0) {
zys = list.size() / hs;
} else
zys = list.size() / hs + 1;
// 得到分页过的数据
for (Integer q = 1; q <= zys; q++) {
List fylist = new ArrayList();
for (int i = (q - 1) * hs; i < q * hs; i++) {
if (i == list.size())
break;
fylist.add(list.get(i));
}
ha.put(q, fylist);
}
return ha;
}
这个对于数据量很小,适合放map,对于大数据还是建议你不这么放,该查几条就到数据库获取几条。
这个我有源码,也可以告诉你按条数分页,Q:54963779
http://blog.csdn.net/yjyzsl/article/details/9708381
我以前写的,LZ可以参考。
private List list; //返回多少条数据
private int allRow;//总记录数
private int totalPage;//总页数
private int currenPage;//当前页
private int pageSize;//每页有多少条记录
private boolean isFirstPage;//是否是第一页
private boolean isLastPage;//是否是最后一页
private boolean hasPreviousPage;//是否有前一页
private boolean hanNextPage;//是否有下一页
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public int getAllRow() {
return allRow;
}
public void setAllRow(int allRow) {
this.allRow = allRow;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getCurrenPage() {
return currenPage;
}
public void setCurrenPage(int currenPage) {
this.currenPage = currenPage;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/**
* 初始化分页
* */
public void init(){
this.isFirstPage=isFirstPage;
this.isLastPage=isLastPage;
this.hanNextPage=hanNextPage;
this.hasPreviousPage=hasPreviousPage;
}
/**
* 判断分页的信息
* */
public boolean isFirstPage() {
return currenPage == 1;//如果当前是第一页
}
public boolean isLastPage() {
return currenPage==totalPage;//如果当前是最后一页
}
public boolean isHasPreviousPage() {
return currenPage != 1;//当前不是第一页
}
public boolean isHanNextPage() {
return currenPage != totalPage;//当前不是最后一页
}
/**
* 计算总页数,静态方法,供外部直接通过类名调用
* @param pageSize 每页记录数
* @param allRow 总记录数
* @return 总页数
* */
public static int countTotalPage(final int pageSize,final int allRow){
int totalPage = allRow%pageSize==0?allRow/pageSize:allRow/pageSize+1;
return totalPage;
}
/**
* 计算当前页开始记录
* @param pageSize 每页记录数
* @param currentPage 当前第几页
* @return 当前页开始记录号
* */
public static int countOffset(final int pageSize,final int currentPage){
final int offset = pageSize*(currentPage-1);
return offset;
}
/**
* 计算当前页,若为0或者请求的URL中没有"?page=",则用1代替
* @param page 传入的参数(可能为空,即0,则返回1)
* @return 当前页
* */
public static int countCurrentPage(int page){
final int curPage = (page==0?1:page);
return curPage;
}
}int allRow = imd.getAllRowcount(hql); //总记录数
int totalPage = PageBean.countTotalPage(pageSize, allRow); //总页数
final int offset = PageBean.countOffset(pageSize, page);//开始记录数
final int length = pageSize;//每页记录数
final int currentPag = PageBean.countCurrentPage(page);
List<GoodsInfo> list = (List)imd.queryForPage(hql, offset, length);