两个字母搞定J2EE通用分页标签(四)

jemalloc实战:5分钟搞定C程序内存泄漏检测(附PDF报告生成技巧) 本文详细介绍了使用jemalloc的heap profiling功能快速检测C/C++程序内存泄漏的实战方法。通过预编译库和LD_PRELOAD注入,无需修改代码即可启动低开销剖析,并利用jeprof工具进行深度分析和生成可视化PDF报告,帮助开发者高效定位线上或开发环境中的内存问题。 阅读详情

作者:张纪豪(转载请注明出处)


(五)、视图层的JSP页面输出分页数据

 

    由于Action中往request对象里放了分页数据,那我们在JSP页面就可遍历出来,但同时应将页码信息输出来,我们看看JSP页面是如何处理的?

    在WebRoot/WEB-INF/jsp/目录下建立两个jsp文件:

list_book.jsp

 

list_news.jsp

 
 

jsp文件中最重要的是声明标签库和调用分页标签:

事实上这目前还不能在页面上输出页码信息,做过JSP标签库的朋友都知道,还要编写标签库和配置标签,好,下一步也是最后一步,我们就开始编写分页标签。

 

(六)、标签库编程及配置

 

    对于标签大家熟悉不过了,HTML文件全是标签组成,再看JSP、JSTL、Struts、Spring MVC都搞那么多标签,全把程序员捆在尖括号中央,郁闷之余,发誓也搞个自己的尖括号^_^。

    机会来了......

    先带大家了解下JSP标记:

    标准的JSP 标记可以调用JavaBeans组件或者执行客户的请求,这大大降低了JSP开发的复杂度和维护量。JSP技术也允许你自定义taglib,其实换句话说,taglib可以看成是对JSP标记的一种扩展,正如xml是对html的一种扩展一样。taglib通常定义在tag标签库中,这种标签库存放着你自己定义的tag标签。简而言之,如果使用taglib,那么你可以设计自己的JSP标记!

    一个自定义的tag标签是用户定义的一种JSP标记。当一个含有自定义的tag标签的JSP页面被jsp引擎编译成servlet时,tag标签被转化成了对一个称为tag处理类的对象进行的操作。于是当JSP页面被jsp引擎转化为servlet后,实际上tag标签被转化成为了对tag处理类的操作。

 

 
由于request作用的不同,所以在n个JSP页面上调用<t:p/>都不会出输出重复的内容,故实现最大的简化。

    到此为止已经完成了通用分页过程,如果有不明之处,或有批评和建议者,欢迎致信!

    要使用tag标签,JSP程序员必须做两件事:

    · 声明此tag标签的tag库
    · 实现此tag标签

    我们反着来,先实现tag标签

PagePrint.java

 

标签的实现需要继承TagSupport,有关这方面的详细知识可以参考J2EE规范Servlet中的JSP2.0技术。页码信息中还用了几个小图片,像开始一页、上一页、下一页、最后一页都是用图片标识的,所以大家去找几个图片放在Webroot/images目录下,当然也可以去掉,用文或符号描述。

 

    下面配置上述的标签实现,在WEB-INF目录下建立一个tld文件(这里我用了自己的名字全拼作文件名):

zhangjihao.tld

【AI编程】Codex 进阶与高阶技巧:从熟练到精通——2026 最新教程 Skill 是 Codex 的「插件」—— 一段 Markdown 定义触发条件、输入参数和执行流程。比自定义命令更强大,支持参数化、多步骤、条件判断。 阅读详情

相关推荐

FPGA学习之路—应用程序—原码二位乘法器及Verilog代码分析

FPGA学习之路——原码二位乘法器及Verilog代码分析 原理 原码乘法可以分为原码一位乘和原码二位乘,两者在实现规则上大同小异。原码一位乘每次判断乘数的最低位,对被乘数和部分积进行相应操作。而原码二位乘则是对乘数的低二位进行判断,并执行相关操作。 两位乘数的取值可以有四种可能组合,每种组合对应于以下操作: 00相当于0x,部分积Dresult右移2位,不进行其他运算; 01相当于1x,部分积D...

谦豫 3716

解释JSP文件的声明及属性,<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%>

Eclipse创建JSP文件时,初始内容如下: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> &

King_wq_2020的博客 9873

ESP32专用E220LoRa库:EBYTE LoRa模块驱动与点对点透传实现

LoRa是一种基于扩频技术的低功耗远距离无线通信协议,广泛应用于物联网终端设备间的数据传输。其核心原理在于通过线性调频(Chirp)信号提升接收灵敏度与抗干扰能力,从而在Sub-GHz频段实现数公里级视距通信。该技术具备高链路预算、强穿透性与多节点并发接入能力,显著降低广域传感网络的部署成本与功耗门槛。典型应用场景包括农业环境监测、工业设备远程诊断、智能表计数据回传等对可靠性与简易集成要求严苛的嵌入式系统。本文聚焦EBYTE E220-400T22D模块在ESP32平台上的工程化落地,深入解析硬件引脚时序约

weixin_36064575的博客 554

无限分类的CURD实现

无限分类的CURD实现作者:张纪豪  转载请注明出处概要:    本文从数据表到逻辑层、WEB层来展示无限级分类的应用。稍难点之处是数据表与JO的映射、Html页面上选取。为了让博友有个印象性认识,笔者先贴出几张效果图:     本运用中,对于增、删、改是由J2EE平台下完成,笔者采用Spring @MVC作为WEB层,JPA作为持久层(借助Hibernate实

zhangjihao的专栏 983

Tesseract in Java - Intellij IDEA对Tess4J的配置和使用

最近要弄OCR,搜到这个,官网全英文,很烦,看看有没有中文的博客介绍,擦,一个比一个奇葩,还是自己按照官方的来吧,外网慢的很,传到csdn给大家下载。中文训练库下载地址: http://download.youkuaiyun.com/detail/d_dmelon/9916532Tess4J3.4下载地址: http://download.youkuaiyun.com/detail/d_dmelon/9916519安装

Lewis的博客 1万+

Plant Simulation新手入门:5步搞定生产线物流仿真(附模型库使用技巧)

本文为Plant Simulation新手提供了从零开始构建生产线物流仿真的五步入门指南。通过理念重塑、流程规划、对象连接、参数设置到数据分析的完整流程,帮助用户快速掌握这一强大仿真工具的核心逻辑。文章特别强调了模型库的高效使用技巧,助力工程师在虚拟环境中精准模拟和优化生产系统,提升规划效率。

efc123456的博客 334

JSP页面通过c:forEach标签循环遍历List集合

&lt;c:forEach&gt;标签有如下属性: 属性 描述 是否必要 默认值 items 要被循环的信息 否 无 begin 开始的元素(0=第一个元素,1=第二个元素) 否 0 end 最后一个元素(0=第一个元素,1=第二个元素) 否 Last element step 每一次迭代的步长 ...

ck784101777的博客 3万+

2026最新贝壳二手房爬虫实战:突破极验5.0滑块验证码,完整房源数据采集方案

本文详细介绍了2026年贝壳找房爬虫技术方案,重点突破其极验5.0滑块验证码等反爬机制。文章首先解析了贝壳六大核心反爬模块,包括AI驱动的验证码、设备指纹绑定和TLS指纹识别等。针对最难破解的滑块验证码,提出了基于YOLOv11深度学习模型的缺口检测方案,准确率达99.5%,并结合人类行为轨迹模拟实现98%以上的成功率。最后设计了分布式爬虫架构,包含任务调度、代理池、验证码服务和数据清洗等模块,为大规模采集贝壳真实房源数据提供了完整解决方案。该方案在复杂反爬环境下仍保持高效稳定,具有重要的商业和研究价值。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2054

自定义jsp标签管理按钮权限

1:自定入jsp标签,放入WEB-INF下,标签名为:buttonPower.tld buttonPower core library buttonPower core 1.1 centfor http://www.asia-home.com.cn/buttonPower 按钮参数 buttonList com.asia.home...

wawa129的专栏 317

Dify平台隐患url:/console/api/remote-files/upload暴露高危漏洞,配置nginx htpasswd模块认证机制屏蔽解决

内部网络探测: 攻击者可通过SSRF扫描内网服务云元数据访问: 可能访问AWS/Aliyun/腾讯云等元数据服务服务端请求伪造: 以服务器身份发起任意HTTP请求。

CN_Eden 1318

鲁棒优化 (Robust Optimization) 算法详解及案例分析

鲁棒优化是一种用于处理不确定性优化问题的方法。其目标是在不确定性参数的可能取值范围内,找到一个对不确定性具有鲁棒性的解。

闲人编程的博客 4330

两个字母搞定J2EE通用分页标签

作者:张纪豪(转载请注明出处) (一)摘要与设计思想       海水无量,只取一瓢。大量的数据显示,分段提取是通用的做法,是的,这叫分页技术。     ,对于WEB程序员,这种标签格式不会陌生。t:代表自定义标签库;p:分页标签。两个字母(具体的说它是6个字符组成)便可以搞定J2EE平台下所有分页功能。当然可以扩充,例如显示总记录数、总页数、当前页数、每页记录数等信息。 效果截图1:

1966

【基于 CasADi 的欠驱动无人船实时非线性模型预测控制(NMPC)实现与避碰仿真】MATLAB开源复现

本文提出了一种基于CasADi的欠驱动无人船实时非线性模型预测控制(NMPC)方法,实现了轨迹跟踪与避碰功能。研究采用三自由度USV动力学模型,集成静态与动态障碍物避碰约束,并满足国际海上避碰规则(COLREGS)。通过CasADi+IPOPT数值优化求解,实现了毫秒级实时控制。文章详细介绍了USV建模、NMPC控制器设计、避碰约束建模以及CasADi实现流程,包括核心求解流程和轨迹生成方法。实验结果表明,该方法能有效实现复杂环境下的轨迹跟踪与避碰功能。

vor234的博客 1397

转:两个字母搞定J2EE通用分页标签

[align=center][b]两个字母搞定J2EE通用分页标签[/b][/align] [code="java"]原文:http://howsun.blog.sohu.com/90707791.html[/code] 作者:张纪豪(转载请注明出处) [b](一)摘要与设计思想[/b] 海水无量,只取一瓢。大量的数据显示,分段提取是通用的做法,是的,...

yangyiqian的专栏 228

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

两个字母搞定J2EE通用分页标签(兼谈SSH集成开发模式)

 两个字母搞定J2EE通用分页标签    海水无量,只取一瓢。大量的数据显示,分段提取是通用的做法,是的,这叫分页技术。    ,对于WEB程序员,这种标签格式不会陌生。t:代表自定义标签库;p:分页标签。两个字母(具体的说它是6个字符组成)便可以搞定J2EE平台下所有分页功能。当然可以扩充,例如显示总记录数、总页数、当前页数、每页记录数等信息。效果截图1: 效果截图2

zhangjihao的专栏 1035

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

两个字母搞定J2EE通用分页标签(一):

作者:张纪豪(转载请注明出处)(一)摘要与设计思想     海水无量,只取一瓢。大量的数据显示,分段提取是通用的做法,是的,这叫分页技术。    ,对于WEB程序员,这种标签格式不会陌生。t:代表自定义标签库;p:分页标签。两个字母(具体的说它是6个字符组成)便可以搞定J2EE平台下所有分页功能。当然可以扩充,例如显示总记录数、总页数、当前页数、每页记录数等信息。效果截图1:

冰源的专栏 919

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

两个字母搞定J2EE通用分页标签(二)

作者:张纪豪(转载请注明出处)(三)、数据访问层设计与数据分页     数据访问层的设计非常重要,在一个较大的项目中,应该利用泛型技术做一个公共数据访问组件,由于本主题要阐述的是分页,所以不搞那么复杂。也因如此,服务层内容也省掉。    在com.zhangjihao.dao包中建立两个接口和两个对应的实现类:BookDao接口 package com.zhangjihao

冰源的专栏 662

两个字母搞定J2EE通用分页标签(三)

作者:张纪豪(转载请注明出处) (四)、控制层取得分页数据 在上一篇中强调本主题要阐述的是分页,不搞那么复杂,所以省掉服务层代码,我们直接在控制层的Action里调用Dao层组件。 工作之前,我们先在com.zhangjihao.util包下做一个工具类,用来从请求参数中得到页码值: WebUtil.java package com.zhangjihao.util; imp...

冰源 177

Eclipse快捷键与插件大全

 Eclipse快捷键大全Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当

风斗士 1169

狂命爆肝99天,共52K字的JAVA学习笔记奉上,JAVA从入门到精通一文搞定,一文在手JAVA无忧

本文介绍了Java编程的基础知识、开发环境设置、JVM内存划分以及常用关键字。Java分为JavaSE、JavaEE和JavaME三个版本,分别用于桌面、企业和嵌入式系统开发。编译使用javac,运行使用java,JDK是开发工具包,JRE是运行环境,JVM是虚拟机。JVM内存分为堆、方法区和栈,分别存储实例变量、静态变量和局部变量。常用关键字包括public、static、final、this和super,分别用于定义类、静态成员、常量、当前对象引用和父类特征。开发环境IDEA的快捷键和组织方式也进行了总

渣渣盟的博客 4万+

对mvc的理解

谈谈你对MVC的理解 MVC是Model—View—Controler的简称。即模型—视图—控制器。MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。 MVC中的模型、视图、控制器它们分别担负着不同的任务。 视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。 模型: 模型表示业务数据和业务处理。相当于JavaBe

melody_day的博客 2272

菜鸟浅谈自己学习Java过程的经历

[size=large][/size][size=medium] 国庆第二天,昨晚北京下了好大的雨...吵死了...半夜醒来.一个人的寝室,唯有寂寞伴随.习惯了...程序员的真实生活写照...哎,想起大家的一个词...蛋疼. 前几日几位毕业在即的,想做IT这方面朋友同学都问了我一些关于从事Java这方面编程事业的一些疑问.因为在这边比较忙,有的没有及时的回复,请大家见谅.在这里我不是以一个...

iteye_6294的博客 220

【Java项目-轻聊】13-实现消息管理模块-消息的接收与转发

本文详细介绍了基于Java WebSocket实现轻聊消息实时转发的完整流程,涵盖前后端约定、连接建立、在线用户管理、消息转发与持久化等核心环节。通过在线管理器和数据库配合,实现了实时聊天与离线消息补发功能,并附有完整代码和测试验证。

弹简特的博客,步履不停,持续学习,多尝试,多复盘,多沉淀。 6534

Failed to load module script:服务器回的是 text/html

当模块脚本(<script type="module">)请求的资源返回 200 状态但 Content-Type 为 text/html 时,浏览器因严格 MIME 检查而拒绝加载,报错“Expected a JavaScript-or-Wasm module script but received text/html”。该问题常见于缺失的 chunk 被服务器错误返回 index.html。与经典脚本不同,模块脚本始终强制检查 MIME 类型,即使状态码成功也无效。import() 的拒绝仅提示 Fai

qq_40822000的博客 190
上一篇: 两个字母搞定J2EE通用分页标签(二)
下一篇: 两个字母搞定J2EE通用分页标签(一):
flash7783
博客等级 码龄20年 2粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值