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指令导入标签库,并通过指定后缀自定义标签

六..标签生命周期

分析图:

目录
相关文章
|
Java
JSP自定义标签【下】
JSP自定义标签【下】
66 0
|
Java
jsp自定义标签
jsp自定义标签
79 1
|
7月前
|
Java 容器
JSP 教程 之 JSP 自定义标签 3
JSP自定义标签允许开发人员创建可重用的组件,简化页面逻辑。在JSP 2.0及以上版本,可通过继承`SimpleTagSupport`并覆写`doTag()`方法来创建自定义标签,如`HelloTag`,它有一个`message`属性。属性值通过setter方法`setMessage()`设置。在TLD文件中定义该属性后,可在JSP页面使用`&lt;ex:Hello message=&quot;This is custom tag&quot;/&gt;`来调用,输出定制的文本。
31 0
|
7月前
|
Java 容器
JSP 教程 之 JSP 自定义标签 4
**JSP自定义标签允许创建用户定义的语言元素。它们转换为Servlet中的tag handler,在执行时由Web容器调用。使用SimpleTagSupport继承并重写doTag()方法可创建简单标签。标签可设置属性,如message,通过setter方法访问。TLD文件定义属性元数据,JSP页面则通过prefix和uri引用。例如,&lt;ex:Hello message=&quot;...&quot;/&gt; 显示定制消息。属性可配置为必需、类型、描述及是否为JspFragment。**
31 0
|
7月前
|
搜索推荐 Java 容器
JSP 教程 之 JSP 自定义标签 2
**JSP自定义标签允许用户创建个性化标签,简化页面逻辑。在JSP 2.0中,通过继承`SimpleTagSupport`并重写`doTag()`可创建简单标签处理器。示例展示了一个名为`Hello`的自定义标签,它接收并显示标签体内容。TLD文件配置了标签元数据,JSP页面引用该标签并展示“这是消息主体”。**
32 0
|
7月前
|
Java 容器
JSP 教程 之 JSP 自定义标签 1
**JSP自定义标签简介**:扩展JSP功能,创建用户定义标签,通过Servlet容器调用Tag Handler。在JSP 2.0中,使用SimpleTagHandlers简化定制。以&quot;Hello&quot;标签为例,创建`HelloTag`类继承`SimpleTagSupport`,重写`doTag()`打印消息。编译后,在`custom.tld`定义标签库,JSP页面引用后即可使用。例如 `&lt;ex:Hello/&gt;` 显示 &quot;Hello Custom Tag!&quot;。
35 0
|
前端开发 Java
通用分页进阶之jsp之自定义标签
通用分页进阶之jsp之自定义标签
40 1
|
8月前
|
Java 数据安全/隐私保护
Jsp自定义标签(foreach,dept,select)
Jsp自定义标签(foreach,dept,select)
50 0
|
8月前
|
XML Java 数据格式
JSP自定义标签
JSP自定义标签
71 0
|
XML Java 计算机视觉
JSP实现自定义标签【上】
-- 标签库名 -->-- 对应的助手类 -->-- 代表JSP标签 -->自定义JSP标签的属性名称该属性是否必填该属性值是否支持表达式