第1个回答 2022-11-08
自定义标签是可重用的元件程式码,并且允许开发人员为复杂的操作提供逻辑名称。那么你对自定义标签了解多少呢?以下是由我整理关于什么是自定义标签的内容,希望大家喜欢!
自定义标签的概念
一般我们说自定义标签是指JSP自定义标签。自定义标签在功能上逻辑上与javaBean 类似,都封装Java 程式码。 JSP开发人员使用标签库建立标签.标签库是按照功能或实现进行分组的自定义标签的 *** 。
网路上常见的CMS内容管理系统都是采用模板的形式来实现,基本上所有的CMS系统都有一套自己的模板标签书写方法,简称自定义标签。
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属性值的标签库指令来和具体的标签库匹配。
CMS自定义标签
CMS的自定义标签格式大同小异,以动易CMS为例,标签写法如下:
{$Skin_CSS}
{$MenuJS}
{$ShowLogo180,60} 自定义标签的分类