JSP分页进行“下一页”显示判断时,页面上总是显示不出来“下一页”,代码如下:
Action:
public class EventAction {
private int curPage = 1;// 目标页码数(下一页页码数)
private int pageSize = 10;// 每一页显示条数
private int totalRows;// 一共多少行
private boolean isLastPage = false;// 标识是否是最后一页
private List<KingEvent> list = new ArrayList<KingEvent>();
private List<KingEventExtend> listExtend = new ArrayList<KingEventExtend>(); public int getCurPage() {
return curPage;
} public void setCurPage(int curPage) {
this.curPage = curPage;
}

public int getPageSize() {
return pageSize;
}

public void setPageSize(int pageSize) {
this.pageSize = pageSize;
} public int getTotalRows() {
return totalRows;
}

public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
} public boolean isLastPage() {
return isLastPage;
}

public void setLastPage(boolean isLastPage) {
this.isLastPage = isLastPage;
}

public List<KingEvent> getList() {
return list;
} public void setList(List<KingEvent> list) {
this.list = list;
} public List<KingEventExtend> getListExtend() {
return listExtend;
} public void setListExtend(List<KingEventExtend> listExtend) {
this.listExtend = listExtend;
} public String execute() {
ISystemService service = (ISystemService) SpringManager.getBean(ISystemService.className);
Map<String, Integer> pageFilter = new HashMap<String, Integer>();
pageFilter.put("curPage", curPage);
pageFilter.put("pageSize", pageSize);
                   //分页查询
this.setList(service.loadAllByEntity(KingEvent.class, null, null, null,pageFilter, new String[] {}));
                  //查询总行数
List<KingEvent> ll = service.loadAllByEntity(KingEvent.class, null,new String[] {});
this.totalRows = ll.size(); // 数据库里面总共是数据行数
                  //判断是否是最后一页
if (this.totalRows > this.curPage * this.pageSize) {
this.isLastPage = true;
} else {
this.isLastPage = false;
}
                  //迭代输出
for (int i = 0; i < list.size(); i++) {
KingEvent kingEvent = (KingEvent) list.get(i);
KingEventExtend kingEventExtend = new KingEventExtend();
kingEventExtend.setDestination(kingEvent.getDestination());
kingEventExtend.setEventcode(kingEvent.getEventcode());
kingEventExtend.setEventkey(kingEvent.getEventkey());
kingEventExtend.setEventtype(kingEvent.getEventtype());
kingEventExtend.setId(kingEvent.getId());
long addTime = kingEvent.getAdd_time() * 1000L;
long firstTime = kingEvent.getFinish_time() * 1000L;
Date da = new Date(addTime);
Date df = new Date(firstTime);
SimpleDateFormat sFormat = new SimpleDateFormat("yyyy-MM-dd HH:ss:MM");
kingEventExtend.setAddTimeString(sFormat.format(da));
kingEventExtend.setFinishTimeString(sFormat.format(df));
this.listExtend.add(kingEventExtend);
}
return "success";
}
}
jsp页面:
<%@ page language="java"import="java.util.*,com.opensymphony.xwork2.ActionContext,application.was.biz.vo.KingEvent,application.was.biz.vo.KingEventExtend" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>事件跟踪</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<!-- 翻页按钮显示判断 -->
<s:if test="%{curPage>1}">
<s:url id="url_pre" value="/login/selectEventAction.do">
<s:param name="curPage" value="curPage-1"></s:param>
</s:url>
<s:a href="%{url_pre}">上一页</s:a>
</s:if>
<s:if test="isLastPage">
<s:url id="url_next" value="/login/selectEventAction.do">
<s:param name="curPage" value="curPage+1"></s:param>
</s:url>
<s:a href="%{url_next}">下一页</s:a>
</s:if>
</center>
</body>
</html>
当<s:if test="isLastPage">时,页面上“下一页”按钮显示不出来;当<s:if test="!isLastPage">时,页面上“下一页”按钮能显示出来,但是到最后一页时,“下一页”按钮还不消失。求高手解决此问题!