goTag 自述
迫于对web页面记录集做分页处理,自己实现了这个用于分页的标签,与大家共享。
这是一个简单的web页面分页标签。通过这个标签可以将传入的记录集进行分页显示,你可以通过设置参数控制每页显示的记录条数。用户界面也较为简单实用,提供首页、尾页、上一页、下一页和直接跳转方式转向指定页面展示您所需要的记录集。
使用方法:
将go-1.0.jar放到你的WEB-INF/lib目录下
在页面引入标签
Jsp代码
<%@ taglib prefix="go" uri="http://www.zlex.org/tag/go"%>
<%@ taglib prefix="go" uri="http://www.zlex.org/tag/go"%>
可参考如下代码使用:
Jsp代码
<%
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>
<%
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条记录,可生成如下页面:
Html代码
<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
onchange="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>
<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
onchange="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参数做缓存处理,请避免使用大集合以免影响性能。
迫于对web页面记录集做分页处理,自己实现了这个用于分页的标签,与大家共享。
这是一个简单的web页面分页标签。通过这个标签可以将传入的记录集进行分页显示,你可以通过设置参数控制每页显示的记录条数。用户界面也较为简单实用,提供首页、尾页、上一页、下一页和直接跳转方式转向指定页面展示您所需要的记录集。
使用方法:
将go-1.0.jar放到你的WEB-INF/lib目录下
在页面引入标签
Jsp代码
<%@ taglib prefix="go" uri="http://www.zlex.org/tag/go"%>
<%@ taglib prefix="go" uri="http://www.zlex.org/tag/go"%>
可参考如下代码使用:
Jsp代码
<%
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>
<%
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条记录,可生成如下页面:
Html代码
<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
onchange="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>
<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
onchange="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参数做缓存处理,请避免使用大集合以免影响性能。