JSP pager-taglib分页标签应注意的问题

本文介绍了如何使用pager-taglib实现项目分页,并详细解释了相关标签和参数的作用,包括分页总体参数设置、参数传递、分页条显示等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天写项目需要分页,网上有很多,选用了 pager-taglib.

首先把pager-taglib.jar 放入工程的lib下

然后jsp加入

<%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg"%>

采用的方式是 :从后台传入List,在jsp页面通过标签分页


<body>

	<div class="main" id="main">


		<div class="cpMod marT10">
			<div class="cM_title">
				<span class="tblock">History Record</span>
			</div>
			<div class="cpContent pad5">
			
			<pg:pager url="historyValueByParam.action" index="center"
    			maxPageItems="10" maxIndexPages="10" isOffset="<%=false%>"
    			export="currentPageNumber=pageNumber" scope="request">
    			 <pg:param name="type" value="${type}" />
    			 <pg:param name="start" value="${start}" />
    			 <pg:param name="end" value="${end}" />

				<table class="table table-bordered table-hover" width="100%">
					<tr>
						<td colspan="6">
							<form action="historyValueByParam.action" class="form-inline" role="form">
								element: <select name="type" class="form-control" style="width: 140px;">
									<option>Temperature</option>
									<option>PH</option>
									<option>Turbidity</option>
									<option>Alkalinity</option>
								</select> from:
								<div class="form-group">
									<input name="start" class="form-control" id="exampleInputEmail2"
										class="Wdate" type="text" onclick="WdatePicker()"></input>
								</div>
								to:
								<div class="form-group">
									<input name="end" class="form-control" id="exampleInputPassword2"
										class="Wdate" type="text" onclick="WdatePicker()"></input>
								</div>
								<button type="submit" class="btn btn-default">Query</button>
							</form></td>
					</tr>
					
					
					<tr>
						<th>recording time</th>
						<th>recording type</th>
						<th>max</th>
						<th>min</th>
						<th>avg</th>
						<th>recorder</th>

					</tr>
					<s:iterator value="list" var="h">
					  <pg:item>
						<tr>
							<td><s:property value="#h[1]"/></td>
							<td><s:property value="#h[2]"/></td>
							<td><s:property value="#h[4]"/></td>
							<td><s:property value="#h[3]"/></td>
							<td><s:property value="(#h[3]+#h[4])/2"/></td>
							<td><s:property value="#h[0]"/></td>
						</tr>
					  </pg:item>
					</s:iterator>
				</table>
				
				<pg:index>
						<pg:first>
							<a href="<%=pageUrl%>">首页</a>
						</pg:first>
					<pg:prev>
						<a href="<%=pageUrl%>">上一页</a>
					</pg:prev>
					<pg:pages>
						<c:choose>
							<c:otherwise>
								<a href="<%=pageUrl%>"><%=pageNumber%></a>
							</c:otherwise>
						</c:choose>
					</pg:pages>
					<pg:next>
						<a href="<%=pageUrl%>">下一页</a>
					</pg:next>
					<pg:last>
						<a href="<%=pageUrl%>">尾页</a>
					</pg:last>

    		</pg:index>
		</pg:pager>
			</div>
		</div>

	</div>
</body>

因为页面有条件查询,所以必须将条件参数带上

<pg:param name="type" value="${type}" />
<pg:param name="start" value="${start}" />
<pg:param name="end" value="${end}" />
这样在点击下一页时才能正常显示数据,否则会显示全部数据或没有数据(取决于 sql 语句),本人是后者没有数据。


另附上基本参数吧:

1.pg:pager

  这个标签用来设置分页的总体参数,一切分页标签都在其内工作。

  • url:分页的链接根地址,pager标签会在这个链接的基础上附加分页参数
  • items:总记录数,pager标签正是根据这个值来计算分页参数的
  • maxPageItems:每页显示的行数,默认为10
  • maxIndexPages:在循环输出页码的时候,最大输出多少个页码,默认是10
  • isOffset:与pg:item配套使用 
  • export:这个属性比较重要,文档也对此作好相对长篇幅的说明。这个属性是让标签给你暴露什么变量,当然这些变量是有选择的,如在Pager标签里,可以暴露出来的变量有pageOffset及pageNumber,即页码偏移量及页码。通过这两个变量名,可以在Jsp或Java里面从Request里获得。Export属性接受的值还有表达式,如currentPage=pageNumber表示,把pageNumber的值暴露出来,并赋给一个叫CurrentPage的变量,这个变量将被保存到Request中,在Jsp或Java中可以得到。

  2.pg:param

  用来设置将要加入到URL的参数。使用Name属性指定即可,用于参数传递。

  3.pg:index

  这个标签说明分页条显示的内容,在这里你可以设置各种风格的分页显示方式。

  4.pg:first

  第一页标签

  • pageUrl - 分页链接URL地址
  • pageNumber - 页码
  • firstItem - 首页第一行的索引值
  • lastItem - 首页最后一行的索引值

  5.pg:pre

  上一页标签

  • pageUrl - 分页链接URL地址
  • pageNumber - 页码
  • firstItem - 前页第一行的索引值
  • lastItem - 前页最后一行的索引值

  6.pg:pages

  这个标签用来循环输出页码信息

  • pageUrl - 分页链接URL地址
  • pageNumber - 页码
  • firstItem - pageNumber这个页码指定的那一页的第一行的索引值
  • lastItem - pageNumber这个页码指定的那一页的最后一行的索引值

  7.pg:next

  下一页标签

  • pageUrl - 分页链接URL地址
  • pageNumber - 页码
  • firstItem - 下页第一行的索引值
  • lastItem - 下页最后一行的索引值

  8.pg:last

  最后一页标签

  • pageUrl - 分页链接URL地址
  • pageNumber - 页码
  • firstItem - 尾页第一行的索引值
  • lastItem - 尾页最后一行的索引值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值