设计客户化标签 TLD

         设计客户化标签,根据实际情况而定!这里对一些小的知识点多来点浅谈,希望各位可以互相的学下!

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标签的具体功能。

1.标签库元素<taglib>

<taglib>

      <taglib-version> mytag1.0</taglib-version>//标签库的版本号

      <jsp-version> jsp2.0</jsp-version>//jsp的版本号

      <short-name>mytags</short-name>//标签的默认前缀名称

      <uri>http://www.baidu.com/mytag</uri>//标签库唯一访问标识符

 2.标签元素 <tag>

     <tag>

           <name>mytag</name>//标签的名称,以后就是可以在jsp页面中通过<mytags:mytag>来访问

           <tag-class></tag-class>//标签的处理类,完整的包名加类名,这个类必须继承TagSupport或扩展SimpleTag接口  下面介绍

           <body-content>??</body-content>//标签体的内容,??有三个可选:

                                                                                  ??=jsp 表示标签体可以加入jsp代码程序

                                                                                  ??=empty 表示标签体为空,没有标签体

                                                                                  ??=tagdependent 表示标签体有标签自己处理

      

             <attribute>//定义标签的属性,这里的属性必须和标签处理类里的一致,并在处理类里提供getter、setter方法

                     <name>??</name>//??表示处理类的属性

                     <required>false</required>//表示属性是否为必须的,默认为false ,表示可以没有

                     <rtexprvalue>true</rtexprvalue>//表示属性的是否支持jsp表达式

             </attribute>

    </tag>

</taglib>

 

 

3.处理类

TagSupport处理标签的方法:

1.TagSupport类提供了两个处理标签的方法:

   public int doStartTag() throws JspException
   public int doEndTag() throws JspException

2.doStartTag:但JSP容器遇到自定义标签的起始标志,就会调用doStartTag()方法。

   doStartTag()方法返回一个整数值,用来决定程序的后续流程。

3.doEndTag:但JSP容器遇到自定义标签的结束标志,就会调用doEndTag()方法。doEndTag()方法也返回一个整数值,

    用来决定程 序后续流程。

    返回的常量包括如下:

标签中静态常量代表的意思大致:
EVAL_BODY_INCLUDE:告诉服务器正文的内容,并把这些内容送入输出流
SKIP_BODY:告诉服务器不要处理正文内容
EVAL_PAGE:让服务器继续执行页面
SKIP_PAGE:让服务器不要处理剩余的页面
EVAL_BODY_INCLUDE、SKIP_BODY一般由doStartTag()返回,而EVAL_PAPGE、SKIP_PAGE由doEndTag()返回。  

 

 

4.使用自定义标签

   在web应用中,早起使用的时候要在web.xml里面配置一下,现在不用了,至少我是没有在配置了,如果在jsp文件中用到了,像用常规的标签一样使用,在jsp里导入标签库

   <% taglib prefix="app" uri="/WEB-ING/app.tld">,一般情况下tld都放在web-inf下,根据实际清苦而定,prefix="app" 是起的别名,在本文中默认名字是“ <short-name>mytags</short-name>//标签的默认前缀名称”mytags。

    主要是看看在实际情况而定,还有很多知识点,用到了再学吧!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值