package com.xxx.core;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.springframework.util.StringUtils;
import com.xxx.po.Po;
/**
* 查询分页总类
*/
public class Pager extends Po {
private static final long serialVersionUID = -5016968481992128023L;
private Map<String, String> f = new HashMap<String, String>();
private Order order = new Order();
private List<Filter> filtersList = null;
private String pageFlag = "pageFlag";
private List resultList;
private int pageNo = 1;
private int pageRows = 10;
private int totalCount = -1;
private int totalPages;
/**
* 添加过滤器,paramKey为request传递的parameter的key,对应页面表单中输入项的name,用于对原有查询进行限定
*
* @param paramKey
* @param filter
*/
public void addF(String paramKey, String value) {
if (!StringUtils.isEmpty(value)) {
this.f.put(paramKey, value);
}
}
/**
* 得到过滤条件列表
*
* @return
*/
public List<Filter> getFilterList() {
if (this.filtersList == null) {
filtersList = new ArrayList();
Set<Entry<String, String>> entrySet = this.f.entrySet();
for (Entry<String, String> entry : entrySet) {
filtersList.add(new Filter(entry.getKey(), entry.getValue()));
}
}
return filtersList;
}
public int getPageRows() {
return pageRows;
}
public void setPageRows(int pageRows) {
this.pageRows = pageRows;
}
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
/**
* 当前页.
*/
public int getPageNo() {
if (pageNo < 1)
pageNo = 1;
// if(pageNo>getTotalPages()){
// pageNo=getTotalPages();
// }
return pageNo;
}
/**
* 设置当前页.
*/
public void setPageNo(final int pageNo) {
this.pageNo = pageNo;
}
/**
* 首记录.
*/
public int getFirst() {
return ((getPageNo() - 1) * pageRows) + 1;
}
/**
* 尾记录.
*/
public int getLast() {
return (getFirst() + pageRows) > getTotalCount() ? getTotalCount()
: (getFirst() + pageRows - 1);
}
public int getTotalPages() {
int count = (totalCount + pageRows - 1) / pageRows;
return count;
}
public void setTotalPages(int totalPages) {
if (totalPages == 0)
totalPages = 1;
this.totalPages = totalPages;
}
/**
* 总记录数
*/
public void resetTotalCount(int totalCount) {
if (totalCount < 0) {
totalCount = 0;
}
int count = (totalCount + pageRows - 1) / pageRows;
setTotalCount(totalCount);
setTotalPages(count);
if (getPageNo() > getTotalPages()) {
setPageNo(getTotalPages());
}
}
/**
* 是否还有下一页.
*/
public boolean isHasNext() {
return (pageNo + 1 <= getTotalPages());
}
/**
* 下一页页号.
*/
public int getNextPage() {
if (isHasNext()) {
return pageNo + 1;
}
else {
return pageNo;
}
}
/**
* 是否还有上一页.
*/
public boolean isHasPre() {
return (pageNo - 1 >= 1);
}
/**
* 上一页页号.
*/
public int getPrePage() {
if (isHasPre()) {
return pageNo - 1;
}
else {
return pageNo;
}
}
/**
* 供后台查询调用 判断最后一页数据大小
*
* @return
*/
public int getBeginCount() {
int beginCount = (getPageNo() - 1) * pageRows;
if (beginCount >= this.getTotalCount()) {
int modpageSize = this.getTotalCount() % this.pageRows;
if (modpageSize == 0) {
modpageSize = this.pageRows;
}
beginCount = this.getTotalCount() + 1 - modpageSize;
}
return beginCount < 0 ? 0 : beginCount;
}
private String url;
public String getUrl() {
if (url == null) {
StringBuffer sbUrl = new StringBuffer();
Set<Entry<String, String>> entrySet = this.f.entrySet();
for (Entry<String, String> entry : entrySet) {
sbUrl.append("&").append("f[").append(entry.getKey())
.append("]").append("=")
.append(URLEncoder.encode(entry.getValue()));
}
sbUrl.append("&").append("pageRows=").append(getPageRows());
url = sbUrl.substring(1).toString();
}
return url;
}
private String fullUrl;
public String getFullUrl() {
if (fullUrl == null) {
StringBuffer sbUrl = new StringBuffer();
if (order.getField() != null && order.getSort() != null)
sbUrl.append("&o.field=")
.append(URLEncoder.encode(order.getField()))
.append("&o.sort=")
.append(URLEncoder.encode(order.getSort()));
fullUrl = getUrl() + sbUrl.toString();
}
return fullUrl;
}
public Map<String, String> getF() {
return f;
}
public void setF(Map<String, String> f) {
this.f = f;
}
public Order getOrder() {
return order;
}
public void setOrder(Order order) {
this.order = order;
}
public List getResultList() {
return resultList;
}
public void setResultList(List resultList) {
this.resultList = resultList;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
springMvc+myBatis+freemarker+maven
共109个文件
java:28个
class:28个
xml:18个
4星 · 超过85%的资源 需积分: 10 404 下载量 85 浏览量
2013-09-23
10:36:32
上传
评论 10
收藏 103KB RAR 举报
温馨提示
springMvc + myBatis +freemarker + maven 组合项目实例
资源推荐
资源详情
资源评论
收起资源包目录
springMvc+myBatis+freemarker+maven (109个子文件)
Pager.class 6KB
UserDaoImpl.class 2KB
UserServiceImpl.class 2KB
DateUtil.class 2KB
DateTypeEditor.class 2KB
BussinessException.class 2KB
UserServiceTest.class 2KB
BaseController.class 2KB
UserPo.class 1KB
User.class 1KB
Order.class 1KB
IntegerEditor.class 1KB
ExceptionHandler.class 932B
Filter.class 852B
Po.class 775B
StringUtil.class 760B
ErrorCode.class 434B
Verify.class 395B
UserSer.class 368B
UserService.class 362B
BaseServiceImpl.class 347B
UserDao.class 343B
UserController.class 322B
BaseDaoImpl.class 319B
Constant.class 279B
UserEdt.class 166B
BaseService.class 119B
BaseDao.class 107B
.classpath 1KB
org.eclipse.wst.common.component 547B
org.eclipse.wst.jsdt.ui.superType.container 49B
index.css 2KB
queryxxx.ftl 2KB
page.ftl 2KB
addxxx.ftl 1KB
error.ftl 263B
modifyxxx.ftl 254B
index.ftl 254B
logo.gif 6KB
btn01.gif 2KB
nav_bg_left.gif 584B
nav_bg_right.gif 583B
nav_bg.gif 312B
error_page.html 10B
error_page_404.html 9B
error_page_403.html 9B
error_page_500.html 9B
Pager.java 5KB
BussinessException.java 3KB
DateUtil.java 2KB
UserServiceTest.java 2KB
UserServiceImpl.java 2KB
BaseController.java 2KB
UserController.java 2KB
UserDaoImpl.java 2KB
DateTypeEditor.java 1KB
UserPo.java 1KB
Order.java 1023B
User.java 870B
IntegerEditor.java 807B
Po.java 768B
Filter.java 742B
UserSer.java 588B
UserService.java 560B
ExceptionHandler.java 498B
Verify.java 443B
StringUtil.java 396B
UserDao.java 374B
ErrorCode.java 303B
BaseServiceImpl.java 125B
UserEdt.java 124B
BaseDaoImpl.java 105B
Constant.java 105B
BaseService.java 60B
BaseDao.java 52B
jquery-1.8.3.min.js 91KB
.jsdtscope 153B
main.jsp 2KB
index.jsp 372B
MANIFEST.MF 39B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.jdt.core.prefs 664B
org.maven.ide.eclipse.prefs 218B
.project 1KB
log4j.properties 3KB
log4j.properties 3KB
freemarker.properties 343B
freemarker.properties 343B
jdbc.properties 95B
jdbc.properties 95B
t_user.sql 1KB
pom.xml 5KB
spring-mvc.xml 5KB
spring-mvc.xml 5KB
spring-mybatis.xml 4KB
spring-mybatis.xml 4KB
web.xml 2KB
UserSer.xml 2KB
UserSer.xml 2KB
ehcache.xml 1KB
共 109 条
- 1
- 2
_小蚂蚁_
- 粉丝: 3
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页