📄 movielisttag.java
字号:
package com.eline.vod.taglib;
import java.util.Collection;
import javax.servlet.http.HttpServletRequest;
import com.blue.web.common.model.Page;
import com.eline.common.taglib.ListTag;
import com.eline.vod.client.Movies;
import com.eline.vod.model.MovieCondition;
public class MovieListTag extends ListTag{
/**
*
*/
private static final long serialVersionUID = 6583265327701487337L;
private String prefix;
private boolean hasNext = false;
private int pageItems; // 页面大小
private int pageNum = 0; // 页号
private int sortBy = 0;
private boolean isApprovedOnly = false;
public MovieListTag() {
prefix = "MovieList_";
}
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;
// 根据页面中查询条件形成查询值对象
MovieCondition condition = fillQueryCondition();
condition.setSortBy(sortBy);
condition.setApprovedOnly(isApprovedOnly);
// 查询结果
Movies mh = new Movies();
int start = pageIndex * pageSize;
page = mh.searchMovie(condition, start, pageSize);
coll = page.getItems();
// 为基类相应属性赋值,写共几条记录,共几页第几页用
totalRecords = page.getTotalRecords(); // 共有多少条记录
totalPages = (totalRecords + pageSize - 1) / pageSize; // 共有多少页
// 是否有下页
hasNext = ((pageIndex + 1) < totalRecords) ? true : false;
return coll;
}
private MovieCondition fillQueryCondition() {
MovieCondition condition = new MovieCondition();
boolean hasCondition = false;
if (sortBy >= 0) {
condition.setSortBy(sortBy);
hasCondition = true;
}
if (isApprovedOnly == false) {
condition.setApprovedOnly(false);
hasCondition = true;
}
return hasCondition ? condition : null;
}
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 setSortBy(int sortBy) {
this.sortBy = sortBy;
}
public void setApprovedOnly(boolean isApprovedOnly) {
this.isApprovedOnly = isApprovedOnly;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -