`

好第三方

阅读更多
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&amp;pageNo=1">首页</a>]</span> 
<span>[<a href="go.jsp?method=list&amp;pageNo=20">尾页</a>]</span> 
<span>[<a href="go.jsp?method=list&amp;pageNo=1">上一页</a>]</span> 
<span>[<a href="go.jsp?method=list&amp;pageNo=2">下一页</a>]</span> 
<span>跳转至第<select 
        onchange="window.location.href='go.jsp?method=list&amp;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&amp;pageNo=1">首页</a>]</span>
<span>[<a href="go.jsp?method=list&amp;pageNo=20">尾页</a>]</span>
<span>[<a href="go.jsp?method=list&amp;pageNo=1">上一页</a>]</span>
<span>[<a href="go.jsp?method=list&amp;pageNo=2">下一页</a>]</span>
<span>跳转至第<select
onchange="window.location.href='go.jsp?method=list&amp;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参数做缓存处理,请避免使用大集合以免影响性能。
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    SIP(第三方)注册到CUCM

    - 准备好第三方SIP设备及其兼容性信息。 2. **配置CUCM**: - 在CUCM中创建新的用户账户,并为该账户分配一个可用的电话号码。 - 配置SIP设备的参数,包括但不限于: - **注册服务器地址**:输入CUCM的IP地址或...

    第三方SDK的Jar包在Delphi XE5中的引入

    同时,我们还需要准备好第三方 SDK 的 Jar 包,例如中国气象的天气预报 Android SDK,它提供了一个 Jar 文件:SmartWeatherAPI_Android_3.0.2.jar。 接下来,我们需要在 Delphi XE5 中创建一个目录,例如 D:\...

    proteus第三方元件库_zenerf_proteus第三方元件库_

    Proteus官方元件库已经包含了大量常见电子元器件,但有时为了满足特定项目需求,用户可能需要扩展这个库,这就涉及到“第三方元件库”。Zenerf Proteus第三方元件库就是这样一个资源,为用户提供了更多的元件选择。 ...

    OSG+Qt 已经编译好第三方库

    该资源主要用于QT结合OSG开发,已经用QT5.8_msvc编译好了第三方库,可以直接使用,详细使用方法见博客:https://blog.csdn.net/weixin_40331125/article/details/80654081

    第三方Recovery

    "第三方Recovery"指的是非官方提供的Recovery系统,通常由爱好者或开发团队为增强设备功能和自定义性而开发。在众多第三方Recovery中,TWRP(Team Win Recovery Project)是尤为知名的一个。 TWRP Recovery是一个...

    UE4插件调用第三方库

    将第三方库的源代码或编译好的库文件(如静态库或动态库)添加到插件的`Source`目录下。如果库是C++代码,可以将其放在`Private`目录,如果只需要链接库文件,可以放在`ThirdParty`目录下。 3. **配置第三方库** ...

    第三方登录Demo

    方便快捷的第三方登录已经整理好了,大家有什么意见提出来,相互交流共同进步

    mixly第三方库开发教程

    《Mixly第三方库开发教程详解》 在编程领域,尤其是教育和初学者阶段,Mixly以其易用性和可视化编程界面,成为了许多人的首选工具。 Mixly不仅支持基础的编程概念,还允许用户通过第三方库来扩展功能,以适应更广泛...

    proteus 第三方元件库

    标题提到的"第三方元件库"指的是除了Proteus官方提供的元件库之外,由社区用户或第三方开发者创建的额外元件资源。 在Proteus中,元件库是模拟电路设计的基础,它包含了大量的电子元器件模型,如电阻、电容、电感、...

    第三方qq登录

    在现代的互联网应用中,第三方登录已经成为一种常见的用户授权方式,极大地便利了用户在不同平台间的账号互通。本文将深入探讨“第三方QQ登录”的实现原理、功能特点以及如何在应用程序中集成这一功能。 首先,我们...

    JavaWEB 第三方登录

    本主题“JavaWEB 第三方登录”聚焦于如何在Java Web项目中实现这一功能,特别关注QQ、微信和微博等社交平台的登录接口集成。 首先,我们需要理解第三方登录的基本原理。第三方登录通常基于OAuth2.0或OpenID Connect...

    荣耀6手机第三方RECOVERY

    【荣耀6手机第三方RECOVERY详解】 荣耀6手机作为华为的一款经典智能设备,其第三方RECOVERY系统对于用户来说具有重要意义。第三方RECOVERY是Android系统中一个非常重要的组成部分,它是一种特殊的恢复环境,允许...

    免费的VB 第三方控件大全 rar

    “免费的VB 第三方控件大全 rar”这一资源包的出现,为VB开发者们提供了一个获取多种第三方控件的便捷途径。这些控件按照功能和用途被分为不同的类别,如按钮特效、界面特效以及其他控件等,从而使得开发者能够根据...

    IOS第三方登录

    描述中提到的"封装好的iOS第三方登录"是指开发者已经将第三方登录的接口和逻辑进行了抽象和封装,形成了一个易于使用的SDK(Software Development Kit)或者库。开发者只需要按照提供的指南,将自己的应用ID和密钥...

    Mixly第三方库资源.zip

    【Mixly第三方库资源.zip】是一个包含Mixly图形化编程软件相关扩展库的压缩包,主要服务于Arduino硬件平台。这个压缩文件的核心内容是为Mixly用户提供更多可自定义和拓展的功能,以增强其编程体验和项目实现能力。...

    HTML5响应式第三方登录页面模板.zip_html5_html5注册登录_html5登录_html源码登陆注册_第三方登录

    `vendor`可能是第三方库或框架的存放处,如Bootstrap或jQuery。`images`存放图片资源,`fonts`可能包含自定义字体文件,而`js`目录则包含JavaScript代码,负责处理用户交互和逻辑功能。 安装和使用说明通常在`安装...

    第三方模拟器

    ### 第三方模拟器与ADB详解 #### 一、概述 **第三方模拟器**是指除了官方提供的Android模拟器之外,由第三方开发者或公司开发的用于模拟Android操作系统环境的软件工具。这些模拟器通常具有更高的性能、更好的兼容...

    pip已经安装好第三方库但pycharm中import时还是标红的解决方案

    然而,有时我们可能会遇到一个常见问题:尽管已经通过pip成功安装了第三方库,但在PyCharm中尝试`import`该库时,它仍然会被标记为红色,提示未找到该模块。这通常是由于PyCharm的项目解释器配置不正确或者与已安装...

    C#Winform实现打开第三方应用程序实例

    在C# WinForm开发中,有时我们需要集成或调用系统中已经安装的第三方应用程序,以扩展我们应用程序的功能或提供更多的用户交互。这个实例将详细讲解如何在C# WinForm应用中实现这一目标。 首先,我们需要了解`...

    C#第三方数据控件使用很方便

    标题提到的“C#第三方数据控件使用很方便”,可能是指开发人员使用了除了.NET框架内建的`DataGridView`之外的增强版控件,以获得更高级的功能和更好的用户体验。 描述中提及的“很好用的datagridview控件方便操作...

Global site tag (gtag.js) - Google Analytics