goTag 自述
迫于对web页面记录集做分页处理,自己实现了这个用于分页的标签,与大家共享。
这是一个简单的web页面分页标签。通过这个标签可以将传入的记录集进行分页显示,你可以通过设置参数控制每页显示的记录条数。用户界面也较为简单实用,提供首页、尾页、上一页、下一页和直接跳转方式转向指定页面展示您所需要的记录集。
使用方法:
将go-1.0.jar放到你的WEB-INF/lib目录下
在页面引入标签
可参考如下代码使用:
其中,url为请求地址,pageNo为当前页号,pageNoName为页号参数名(可选,默认为pageNo),source为待分页的源列表,pageListName为分页集合名(可选,默认为pageList),pageSize为每页显示记录的最多条数(可选,默认为10条记录)。
当我们在Request请求中给定属性"${url}"值为http://localhost:8080/goTag/go.jsp?method=list,"${pageNo}"值为1,如果设定的"${list}"总共有100条记录,"${pageSize}"值为5,即每页显示5条记录,可生成如下页面:
注意事项:
1.在设定go标签属性url的时候,请确保该值不会包含go标签属性pageNoName的值。
2.请不要在同一个页面内使用1套以上的<go:go />标签。
3.未对source参数做缓存处理,请避免使用大集合以免影响性能。
迫于对web页面记录集做分页处理,自己实现了这个用于分页的标签,与大家共享。
这是一个简单的web页面分页标签。通过这个标签可以将传入的记录集进行分页显示,你可以通过设置参数控制每页显示的记录条数。用户界面也较为简单实用,提供首页、尾页、上一页、下一页和直接跳转方式转向指定页面展示您所需要的记录集。
使用方法:
将go-1.0.jar放到你的WEB-INF/lib目录下
在页面引入标签
<%@ taglib prefix="go" uri="http://www.zlex.org/tag/go"%>
可参考如下代码使用:
<% List<String> list = new ArrayList<String>(); for (int i = 1; i <= 100; i++) { list.add(String.valueOf(i)); } request.setAttribute("list", list); %> <c:set var="goUrl" value="go.jsp?method=list" scope="request" /> <c:choose> <c:when test="${empty param.pageNo}"> <c:set var="pageNo" value="1" scope="request" /> </c:when> <c:otherwise> <c:set var="pageNo" value="${param.pageNo}" scope="request" /> </c:otherwise> </c:choose> <go:go url="${goUrl}" pageNo="${pageNo}" pageNoName="${pageNo}" source="${list}" pageListName="${pageList}" pageSize="5"> <div> <br /> <c:forEach items="${pageList}" var="l"> <c:out value="${l}" /> <br /> </c:forEach> <br /> </div> <span>第<go:pageNo />页,共<go:pageCount />页</span> <span>[<a href="<go:first />">首页</a>]</span> <span>[<a href="<go:last />">尾页</a>]</span> <span>[<a href="<go:previous />">上一页</a>]</span> <span>[<a href="<go:next />">下一页</a>]</span> <span>跳转至第<go:select />页</span> </go:go>
其中,url为请求地址,pageNo为当前页号,pageNoName为页号参数名(可选,默认为pageNo),source为待分页的源列表,pageListName为分页集合名(可选,默认为pageList),pageSize为每页显示记录的最多条数(可选,默认为10条记录)。
当我们在Request请求中给定属性"${url}"值为http://localhost:8080/goTag/go.jsp?method=list,"${pageNo}"值为1,如果设定的"${list}"总共有100条记录,"${pageSize}"值为5,即每页显示5条记录,可生成如下页面:
<div>
<br />
1
<br />
2
<br />
3
<br />
4
<br />
5
<br />
<br />
</div>
<span>第1页,共5页</span>
<span>[<a href="go.jsp?method=list&pageNo=1">首页</a>]</span>
<span>[<a href="go.jsp?method=list&pageNo=20">尾页</a>]</span>
<span>[<a href="go.jsp?method=list&pageNo=1">上一页</a>]</span>
<span>[<a href="go.jsp?method=list&pageNo=2">下一页</a>]</span>
<span>跳转至第<select
οnchange="window.location.href='go.jsp?method=list&pageNo='+this.value">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>页</span>
注意事项:
1.在设定go标签属性url的时候,请确保该值不会包含go标签属性pageNoName的值。
2.请不要在同一个页面内使用1套以上的<go:go />标签。
3.未对source参数做缓存处理,请避免使用大集合以免影响性能。