JSP自定义标签

简介: JSP自定义标签

一.基本概念

1.标签(Tag):


标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是大小写敏感的


2.标签库(Tag library):


由一系列功能相似、逻辑上互相联系的标签构成的集合称为标签库。


3.标签库描述文件(Tag Library Descriptor):


标签库描述文件是一个XML文件,这个文件提供了标签库中类和JSP中对标签引用的映射关系。它是一个配置文件,和web.xml是类似的。


4.标签处理类(Tag Handle Class):


标签处理类是一个Java类,这个类继承了TagSupport或者扩展了SimpleTag接口,通过这个类可以实现自定义JSP标签的具体功能


二.自定义JSP标签

1. <% @ taglib prefix=”someprefix” uri=”/sometaglib” %>


为了使到JSP容器能够使用标签库中的自定义行为,必须满足以下两个条件:


1)从一个指定的标签库中识别出代表这种自定义行为的标签


2)找到实现这些自定义行为的具体类


第一个必需条件-找出一个自定义行为属于那个标签库-是由标签指令的前缀(Taglib Directive's Prefix)属性完成,所以在同一个页面中使用相同前缀的元素都属于这个标签库。每个标签库都定义了一个默认的前缀,用在标签库的文档中或者页面中插入自定义标签。所以,你可以使用除了诸如jsp,jspx,java,servlet,sun,sunw(它们都是在JSP白皮书中指定的保留字)之类的前缀。


uri属性满足了以上的第二个要求。为每个自定义行为找到对应的类。这个uri包含了一个字符串,容器用它来定位TLD文件。在TLD文件中可以找到标签库中所有标签处理类的名称


2. 当web应用程序启动时,容器从WEB-INF文件夹的目录结构的META-INF搜索所有以.tld结尾的文件。也就是说它们会定位所有的TLD文件。对于每个TLD文件,容器会先获取标签库的URI,然后为每个TLD文件和对应的URI创建映射关系。


在JSP页面中,我们仅需通过使用带有URI属性值的标签库指令来和具体的标签库匹配。

三.标签语言特点

  • 模块化:自定义标签可以重用,减少了代码冗余,使得代码更加清晰简洁。
  • 动态性:自定义标签可以基于不同的条件来生成不同的输出结果。
  • 灵活性:自定义标签可以与其他JSP的标签类和JavaBean配合使用,增加代码的可扩展性。
  • 可维护性:使用自定义标签可以很容易地维护和修改代码。
  • 外部化:可以通过配置文件或属性文件来配置自定义标签,提供更高级的定制性。
  • 可重用性:自定义标签可以在不同的项目中被重用,使得代码的开发成本和维护成本得到大大降低。

四. 自定义标签的开发及使用步骤

1.创建标签库类(继承BodyTagSupport)

标签属性必须与助手类的属性对应、并且要提供对应get/set方法

2.创建标签库文件(在WEB-INF)下面,以tld为后缀,添加自定义标签的配置


3.页面引入 在JSP通过taglib指令导入标签库,并通过指定后缀自定义标签

六..标签生命周期

分析图:

目录
相关文章
|
5月前
|
Java
JSP自定义标签【下】
JSP自定义标签【下】
50 0
|
6月前
|
Java
jsp自定义标签
jsp自定义标签
43 1
|
23天前
|
Java 数据安全/隐私保护
Jsp自定义标签(foreach,dept,select)
Jsp自定义标签(foreach,dept,select)
28 0
|
4月前
|
XML Java 数据格式
JSP自定义标签
JSP自定义标签
53 0
|
5月前
|
存储 Java 开发者
JSP自定义标签(下)
JSP自定义标签(下)
39 0
|
5月前
|
XML Java 数据格式
JSP自定义标签
JSP自定义标签
33 0
|
5月前
|
Java API
JSP自定义标签【上】
JSP自定义标签【上】
36 0
|
6月前
|
存储 安全 Java
JSP自定义标签(进阶)
JSP自定义标签(进阶)
18 0
|
6月前
|
XML Java 数据格式
JSP自定义标签(基础)
JSP自定义标签(基础)
22 0
|
6月前
|
Java 开发者
JSP自定义标签
JSP自定义标签
31 0

相关课程

更多