JSP:
<%
@ taglib uri = " /WEB-INF/displaytag.tld " prefix = " display " %>
< display:table name ="resultList" pagesize ="100" requestURI ="listLog.do" sort ="external" id ="row" partialList ="true" size ="resultSize" >
< display:column property ="operdate" title ="操作时间" ></ display:column >
< display:column property ="pername" title ="操作人员" ></ display:column >
< display:column property ="opertype" title ="操作类型" ></ display:column >
</ display:table > name="resultList" 将记录集存在session或者request中的键值
pagesize="100" 每页显示100条数据
sort="external" 外部排序
id="row" 表格id值,用于程序得相关的参数
partialList="true" 分段从数据库中读数据
size="resultSize" 记录的总条数,用于计算总页数
Controller:
// 页数的参数名
String pageIndexName = new org.displaytag.util.ParamEncoder( "row" ).encodeParameterName(org.displaytag.tags.TableTagParameters.PARAMETER_PAGE);
// 每页显示的条数
int pageSize = 100 ;
// 当前页
int pageIndex = GenericValidator.isBlankOrNull(request.getParameter(pageIndexName)) ? 0 :(Integer.parseInt(request.getParameter(pageIndexName)) - 1 ); 
// 统计总记录数的sql语句
int resultSize = logDao.getAllCount();
// 取得当前页数据
List resultList = logDao.getLogList( int pageIndex, int pageSize);

try
{
request.setAttribute( " resultList " ,resultList); // 把结果存入request
request.setAttribute( " resultSize " , new Integer(rs.getInt( 1 ))); // 将总记录数保存成Intger实例保存在request中
} catch (Exception ex)
{
ex.printStackTrace();
}
其中 logDao.getAllCount() 和 logDao.getLogList(int pageIndex,int pageSize),根据不同持久层有不同实现,此处略。
本文介绍如何使用JSP和DisplayTag库实现日志数据的分页显示,包括页面配置及后端逻辑处理。

407

被折叠的 条评论
为什么被折叠?



