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标签,所写的自定义标签
分享到:
相关推荐
Android中自定义标签的举例说明.pdf 学习资料 复习资料 教学资源
Java基础复习笔记12Java自定义注解Annotation的使用
操作系统复习纲(自定义版)目录操作系统复习纲(自定义版) 1卷面分配 10DMA 技术(于 13 章详述)双模式操作分类:用户模式、内核模式实现:模式位(内核为
RTK仪器简单操作步骤复习过程.pdf
这几天打算做一个控件,来让自己复习一下自定义 view 的知识以及事件分发机制的原理与应用。对于这个控件,我已经封装好了,只要调用就可以了。 本来是想放上 gitHub 和 添加依赖的。但是提交 github 出了问题一直...
Android中自定义Toast.pdf 学习资料 复习资料 教学资源
高考专题复习专题四-自定义函数及VB访问数据库.doc
高考信息技术复习专题四-自定义函数及VB访问数据库.pptx
3.支持自定义题库导入,把需要复习的题库按模板格式要求存放在软件同级目录,即可自动导入开始刷题; 4.支持错题、未答题目的不同颜色标注,轻松查看错题、漏题; 5.支持手动显示和隐藏参考答案。
之前看网上demo自定义日历采用的一般是在ondraw中绘制一个一个小格子,然后计算好后拼凑一下,这个是个好方法,会让界面很容易对齐,美观,并且可以实现小格子的很多效果,项目里碰到一个地方要添加日历,通过点击...
一个背单词的小工具,提供词库自定义,英汉互译测试。支持单词朗读,纠正发音。每日单词记忆计划和复习
在复习参考了许多自定义控件的基础上,我实现了一个最最基本的方向盘空间,并且可以根据方向做出相应的反应。话不多说,先看看效果。 做的有点丑,大家可以看看实际原理,后期再优化具体“方向盘”. 空间下面的...
染色体步移步骤复习过程.pdf
复习合集复习合集复习合集复习合集复习合集
教师资格考试的复习步骤.pdf
JAVA反射机制自定义框架测试代码,留着以后复习用!
1124-标签和选择器复习
计算机一级复习题计算机一级复习题计算机一级复习题
数值分析复习,数值分析是一个很好的课程。 数值分析复习,数值分析是一个很好的课程。 数值分析复习,数值分析是一个很好的课程。 数值分析复习,数值分析是一个很好的课程。 数值分析复习,数值分析是一个很好的...