`

实现一个简单的自定义标签(复习一下自定义标签的步骤)

阅读更多

1. jakarta-taglibs-standard-1.1.2\tld 中复制 c.tld 到当前 web 应用的 WEB-INF 目录下

2. 删除 c.tld 文件的内容, 仅保留如下部分

<?xml version="1.0" encoding="UTF-8" ?>

		<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
			xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
			version="2.0">
		
			<description>JSTL 1.1 core library</description>
			<display-name>JSTL core</display-name>
			<tlib-version>1.1</tlib-version>
			<short-name>c</short-name>
			<uri>http://java.sun.com/jsp/jstl/core</uri>

		</taglib>


3. 修改 c.tld 文件名

4. tld 文件: tag library descriptor(标签库描述文件)

> 每个 tld 文件都需要配置的属性

<!-- 1. 对标签库的描述 -->
<description>My Tag 1.0 core library</description>
<!-- 2. 标签库显示的名字, 没有什么实际的作用 -->
<display-name>My Tag core</display-name>
<!-- 3. 标签库的版本号 -->
<tlib-version>1.0</tlib-version>
<!-- 4. 在 JSP 页面建议使用的前缀 -->
<short-name>itcast</short-name>
<!-- 5. ** 唯一标示该 tld 的 uri, 用来在 JSP 页面引用 tld 文件(标签库)时使用 -->
<uri>http://itcast.cn/jsp/mytag/core</uri>

> 具体描述一个标签

<!-- 描述一个具体的标签 -->
<tag>
<!-- 标签的名字, 用来在 JSP 页面上使用, 也用来标示该标签, 在当前 tld 文件中唯一 -->
<name>helloworld</name>
<!-- 指向对应的标签处理器类 -->
<tag-class>cn.itcast.javaee.tag.HelloSimpleTag</tag-class>
<!-- 标示标签体的类型 -->
<body-content>empty</body-content>
</tag>

5.在 JSP 页面使用自定义的标签

①. 引入对应的标签库: 通过 taglib 指令: <%@ taglib prefix="" uri="" %> prefix: 标签的前缀, uri: tld 文件中的 uri 标签的值

6.使用

7.在Java类中写一个 HelloSimpleTag 类,这个可以继承SimpleTagSupport ,或者实现SimpleTag 接口


注意:
无论是一个怎样简单的标签, 都至少会调用 SimpleTag 接口的两个方法:

> setJspContext(): Jsp 引擎将代表 JSP 页面的 pageContext 对象传递给标签处理器对象

* PageContext: 代表 JSP 页面

** 可以从中获取 JSP 页面的 9 个隐含对象

** findAttribute(name): 按 page, request, session application 域对象的范围获取指定的属性值

** getAttribute(String name, int scope): 从指定的范围中获取指定的属性值. 例如: Object obj = pageContext.getAttribute("request", PageContext.REQUEST_SCOPE);

** Enumeration<String> getAttributeNamesInScope(int scope): 获取指定域对象中所有属性名组成的 Enumeration 对象

> doTag(): 标签处理器对象的逻辑代码主要编写在该方法中.



下面附加,小弟自己模拟一些JSTL标签,所写的自定义标签
分享到:
评论

相关推荐

    JavaWeb复习资料

    JavaWeb 复习资料是 JavaWeb 开发中的一份重要资源,涵盖了 XML 解析、EL 表达式、自定义标签、JSTL 标准标签等多个方面的知识点。本文将对这些知识点进行详细的解释和分析。 一、XML 解析 XML(Extensible Markup...

    JSPPPT总复习提炼

    在复习JSP时,我们需要掌握以下几个核心知识点: 1. **动态网站开发基础**: - 开发JSP动态网站通常包括创建Web项目、设计目录结构、编写代码、部署项目以及运行项目等步骤。 - 避免常见的开发错误,如未启动...

    学员总结复习本门课程模板

    在本门“ACCP7.0 Y2 JAVA开发租房网”的课程中,学员们深入学习了Java编程语言以及如何利用Java技术开发一个租房网站。这是一个综合性的项目,旨在提升学员们的实际开发能力和对Java Web应用的理解。复习是巩固学习...

    19_ant_完整操作一个用户管理的小例子_实现了登录

    在这个例子中,我们将探讨如何利用Ant构建一个简单的用户管理系统,并实现用户登录功能。 在描述中,“19_ant_完整操作一个用户管理的小例子_实现了登录19_ant_完整操作一个用户管理的小例子_实现了登录”看似重复...

    在工具栏按钮上添加文本标签.zip_工具栏_工具栏按钮

    这个压缩包文件"在工具栏按钮上添加文本标签.zip"显然是关于如何在编程环境中实现这一功能的教程或代码示例。 在Windows应用程序开发中,特别是使用MFC(Microsoft Foundation Classes)框架时,`MainFrm.cpp`和`...

    JSP复习资料

    当客户端浏览器请求一个JSP页面时,服务器将按照以下步骤处理该请求: 1. **客户端发起请求**:用户通过浏览器向服务器发送请求,请求中包含要访问的资源路径。 2. **服务器加载JSP文件**:服务器识别到请求的是JSP...

    2024.4.14 复习Day02-Source

    最后,考虑到效率和合规性,爬虫应遵循Robots协议,这是一个网站所有者告诉搜索引擎哪些页面可以抓取,哪些禁止抓取的协议。使用requests库的robots.txt模块,我们可以检查并遵守网站的Robots协议。 总结来说,...

    ArcGIS Server 开发系列(七)--物流配送.doc

    本章节的目标是实现一个简易的物流配送系统(Vehicle Routing Problem, VRP)。该系统将利用 ArcGIS Server 的功能和服务,实现多车辆路径规划与优化,以达到最优的配送方案。 #### 三、准备工作 在开始之前,需要...

    AD16画PCB步骤.pdf

    描述中提到,这个文档是“一个简单介绍画PCB板的过程”,意味着其内容更倾向于基础入门,适合初学者或需要复习基础知识的电子工程师。 标签"PCB AD16" 明确指出了该文档的主题内容,即在Altium Designer 16软件环境...

    一个Treeview的应用实例

    文件列表中提到了“复件 准备打包复习软件”,这可能是指项目中的一个资源文件,可能包含用于`TreeView`显示的数据,如复习材料的目录结构,或者是用于测试和打包应用的相关文件。 总的来说,这个应用实例展示了...

    J2SE基础复习提纲

    注意`case`标签后必须跟一个整数值,并且每个`case`分支最好以`break`语句结束。 #### 六、数组 - **数组定义**: 数组是一系列相同类型的元素集合。如`int[] numbers = new int[5];`。 - **初始化**: 数组可以通过...

    《Web开发基础》复习大纲(2021).doc

    - 可重用组件:JSP支持自定义标签库,便于代码复用,降低维护成本。 - 简化页面开发:JSP文件可以直接被浏览器解释,无需额外编译步骤,简化了开发流程。 2. JSP运行环境配置 要运行JSP程序,需要配置JDK和Tomcat...

    VC-Tab.zip_Tabú_tab_tab vc_vc tab_vc tab

    压缩包中的文件"VC Tab标签控件的简单使用示例"可能是一个包含源代码、头文件、资源文件和可能的文档的项目。开发者可以通过阅读和运行这些示例代码,了解如何在VC++中添加、初始化、布局Tab控件,以及如何响应用户...

    系统分析员考试复习资料

    - JSP可以通过JavaServer Pages Standard Tag Library (JSTL) 和自定义标签库简化逻辑处理。 4. **企业计算的基本服务**: - 8种基本服务包括命名/目录服务、数据访问服务、分布式对象服务、企业管理服务、事务...

    前端HTML标签思维导图总结

    - ` ` 是一个单标签,用于插入换行。 6. **文本格式化标签**: - `&lt;b&gt;` 和 `&lt;i&gt;` 分别用于加粗和斜体文本。 - `&lt;em&gt;` 和 `&lt;strong&gt;` 更加语义化,分别表示强调和重要的文本。 7. **盒子模型标签**: - `...

    ARCGIS复习资料

    "ARCGIS复习资料" ARCGIS是一个统一的地理信息系统平台,由Desktop、ArcSDE和ArcIMS三个重要部分组成。Desktop是ArcGIS的一体化的高级GIS系统,包括ArcView、ArcEditor和ArcInfo三个桌面软件,ArcMap、ArcCatalog和...

    css复习内容.zip

    在CSS(层叠样式表)领域,复习是巩固和提升技能的关键步骤。"css复习内容.zip"这个压缩包很可能包含了各种CSS相关的学习资料,包括笔记、示例代码、教程等,帮助用户系统地回顾和深化对CSS的理解。下面将详细讨论...

    2024.4.17 Python爬虫复习day05 可视化

    学习使用Matplotlib的基本函数如`plot()`, `scatter()`, `hist()`,以及自定义图形属性,如颜色、标签、图例等,是可视化入门的关键。 3. **Seaborn库**:Seaborn是基于Matplotlib的高级可视化库,提供了更美观的...

Global site tag (gtag.js) - Google Analytics