jsp标签具有与html标签一样的格式,可以用来代替jsp中的Java脚本,使代码简介。使用自定义标签之前需要建立一个*.tld文件,每个文件对应一个标签库,里面可以包含很多的自定义标签。

每一个标签都必须由一个继承了SimpleTagSupport类的实现类来实现。类里面的属性必须有get与set方法。需要重写doTag方法,实际上此方法真正完成标签的工作。


创建tld文件 

创建的时候最好找一个现成的tld文件,复制进去然后修改uri(此uti能够告诉jsp页面,这个前缀引导的标签应该与哪个tld文件对应),再在tag子元素下定义标签。

  • taglib有如下三个子元素:

  • tlib-version:指定标签库实现版本,没什么用

  • short-name:默认短名,也没什么用

  • uri:标签库的唯一标示

  • dynamic-attributes:指定标签是否支持动态属性,只有定义动态属性标签的时候才需要。

  • tag:定义标签库的地方。每个tag中可以包含name,tag-class与body-content。body-content中可以设置如下四个值:

  1. tagdependent:指定标签处理类自己负责处理标签体

  2. empty:指定该标签只能作为空标签

  3. scriptless:指定标签体可以使静态html元素,表达式语言,不能有脚本

  4. JSP:指定可以使用jsp脚本(jsp2中不能为jsp)


使用标签库

使用标签库要先用taglib编译指令导入,要写uti跟前缀。使用时直接用前缀加: 加标签名即可。


带属性的标签

配置的时候需要使用attribute子元素。每个属性对应一个sttribute。每个attribute里面需要配置name(属性名字),required(是否为必需),fragment(是否支持jsp脚本)。配置好了之后,在使用的时候,就会提示你输入指定的属性了。这里可以把标签比作是方法,通过写一个方法名,就可以调用该方法了。导入taglib就相当于导入jar包。写一个前缀就相当于是告诉程序,我要用这个包里面的方法。


带标签体的标签

这种标签可以在里面镶嵌其他内容完成诸如逻辑运算,循环等。一般要求body-content为scriptless。

动态属性标签

需要实现DynamicAttributes接口,重写setDynamicAttribute类。配置的时候需要用dynamic-attributes来标注支持动态属性。在使用标签的时候可以随意地添加属性跟属性值。似乎程序会自动认定=前面就是属性名,如果有了,那好,就去找set方法,如果没有,ok,这是一个动态生成的属性,赶紧给创建一个。

转载于:https://blog.51cto.com/mengcao/1691056

JSP笔记——7.自定义标签相关推荐

  1. 深入体验JavaWeb开发内幕——简述JSP中的自定义标签叫你快速学会

    转载自   深入体验JavaWeb开发内幕--简述JSP中的自定义标签叫你快速学会 自定义标签,顾名思义,就是自己定义的标签.那么我们为什么要自己定义一些标签呢? 我们知道,如果要在JSP中获取数据我 ...

  2. 自定义标签的使用jsp实例_JSP自定义标签示例教程

    自定义标签的使用jsp实例 Today we will look into JSP custom tags. Earlier we learned about JSP Action Elements, ...

  3. java ee tag标签文件_12.《JavaEE 学习笔记》自定义标签库

    1.定义 自定义标签是用户定义的JSP语言元素.当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web con ...

  4. jsp自定自定义标签

    2019独角兽企业重金招聘Python工程师标准>>> 1 先要导入一个jar包 2 自定一个标签库 ,该库放在WEB-INF/tld下面 3 需要实现 该类 extends Tag ...

  5. JSP GridView --使用自定义标签实现ASP.NET的控件

    JSP用自定义标签实现ASP.net的gridview.datasource组件 第一部分:使用说明 使用过ASP.NET的人都知道,gridview控件功能很强大,使用很方便,提高了开发效率.而且表 ...

  6. JSP页面tdl自定义标签的做法

    思路: 首先tdl自定义标签就是比如类似input.div.ul.li之类的标签,只是名字自己来定义,但实际上要在页面上看到效果还是需要些html代码,只是在页面上只需要写自己标签就可以代表一部分ht ...

  7. android学习笔记---66_自定义标签页

    2013/7/17 66_自定义标签页 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:___________以前的网站现在不弄了,抱歉 smdl2tmp1. ...

  8. java ee jsp_EE JSP:使用自定义标签库生成动态内容

    java ee jsp 在Web应用程序中开发View层时,您希望尽量不要重复JSP文件中的内容. JSP spec API允许您通过使用标记库来减少这种重复. 定制JSP标记是用户定义的xml标记元 ...

  9. EE JSP:使用自定义标签库生成动态内容

    在Web应用程序中开发View层时,您希望尽量不要重复JSP文件中的内容. JSP spec API允许您通过使用标记库来减少这种重复. 定制JSP标记是用户定义的xml标记元素,您可以将其插入JSP ...

最新文章

  1. Xen的network-bridge模式
  2. C语言结构联合位字段知识体系总结大学霸IT达人
  3. Python中各进制间的转换
  4. 解决MySQL事务未提交导致死锁报错 避免死锁的方法
  5. macOS如何使用命令启动服务/停止服务/查看服务
  6. Java线程--BlockingQueue使用
  7. 阿里巴巴云原生混部系统 Koordinator 正式开源
  8. 关闭切换大小写提示_你不知道的iOS 13提示和技巧
  9. atitit.atitit.hb many2one relate hibernate 多对一关联配置..
  10. Easypoi导出excel
  11. 顺序表的十个基本操作(全)
  12. 毕业论文中期报告PPT模板
  13. A 股历年三大财务报表
  14. 【StyleGAN代码学习】StyleGAN损失函数与训练过程
  15. 数据分析师有哪些等级
  16. C++Primer——第8章(IO库)
  17. 移动硬盘文件乱码是怎么回事?数据还能恢复吗
  18. 一个程序员的多年珍藏(1月23日最新更新)
  19. node.js+uniapp计算机毕业设计安卓电影院售票管理APP论文(程序+APP+LW)
  20. v-chart大小无法控制

热门文章

  1. 7-42 关于堆的判断 (25 分)
  2. 7-4 特殊数字 (10 分)
  3. imagereader java_java中ImageReader和BufferedImage获取图片尺寸实例
  4. java继承原理内存角度_Java编程的逻辑 (17) - 继承实现的基本原理
  5. 微型计算机按原理可分为那几种,东师微型机原理与应用19秋在线作业2题目【标准答案】...
  6. 为什么python的命名不能以数字开头,Python模块名称以数字开头
  7. springCloud 搭建Eureka
  8. 地宫取宝|2014年蓝桥杯B组题解析第九题-fishers
  9. apache禁止訪问某些文件或文件夹的方法
  10. BZOJ-1922 大陆争霸 多限制、分层图最短路 (堆+dijkstra)