📄 booklisttag.java
字号:
package com.eline.wap.resource.taglib;
import java.util.Collection;
import javax.servlet.http.HttpServletRequest;
import com.eline.wap.common.model.Page;
import com.eline.wap.common.taglib.ListTag;
import com.eline.wap.resource.client.BookHelper;
import com.eline.wap.resource.model.BookCondition;
public class BookListTag extends ListTag {
/**
*
*/
private static final long serialVersionUID = -9808543613709624L;
private String prefix;
private boolean hasNext = false;
private int pageItems; // 页面大小
private int pageNum = 0; // 页号
private int parentId = -1;
private boolean isActiveOnly = true;
public BookListTag() {
prefix = "BookList_";
}
protected boolean needsNextForm() {
return hasNext;
}
protected void initParamPrefix() {
super.paramPrefix = this.prefix;
}
protected Collection findCollection() throws Exception {
Collection coll = null;
Page page = null;
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
// 保证每次调用该列表页面时总显示第一页
if(request.getParameter(prefix + "pageIndex") == null || request.getParameter(prefix + "pageIndex").equals("")
|| request.getParameter(prefix + "pageIndex").equalsIgnoreCase("null"))
pageIndex = 0;
// 根据页面中查询条件形成查询值对象
BookCondition condition = fillQueryCondition();
// 查询结果
BookHelper bh = new BookHelper();
int start = pageIndex * pageSize;
page = bh.searchBooks(condition, start, pageSize);
coll = page.getItems();
// 为基类相应属性赋值,写共几条记录,共几页第几页用
totalRecords = page.getTotalRecords(); // 共有多少条记录
totalPages = (totalRecords + pageSize - 1) / pageSize; // 共有多少页
// 是否有下页
hasNext = ((pageIndex + 1) < totalRecords) ? true : false;
return coll;
}
private BookCondition fillQueryCondition() {
BookCondition condition = new BookCondition();
boolean hasCondition = false;
if (parentId >= 0) {
condition.setParentId(parentId);
hasCondition = true;
}
if (isActiveOnly == false) {
condition.setActiveOnly(false);
hasCondition = true;
}
return hasCondition ? condition : null;
}
public void setActiveOnly(boolean isActiveOnly) {
this.isActiveOnly = isActiveOnly;
}
public void setPageItems(int pageItems) {
this.pageItems = pageItems;
super.pageSize = this.pageItems;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
super.pageIndex = this.pageNum;
}
public void setParentId(int parentId) {
this.parentId = parentId;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -