JSP自定义标签开发+TLD文件元素详解
来源:互联网 发布:清华镜像python 编辑:程序博客网 时间:2024/05/19 19:42
自定义标签开发整理
从jsp1.1开始就可以在jsp页面中使用自定义标签了,使用自定义标签不但可以实现代码重用,而且可以使jsp代码更简洁。Jsp2.0的标签扩展API中又增加了SimpleTag接口和其实现类SimpleTagSupport。
标签扩展API层次结构:
TLD文件元素详解:
每个自定义标签都必须在TLD文件中声明,TLD文件只不过是一个XML文件。根元素是<taglib>,它包含一个或者多个<tag>标签,该元素用来声明定制标签。<taglib>元素中只有<tlib-version>元素是必须的,其他都是可选的。
TLD文件中的元素
标 签
含 义
<taglib>
TLD文件的根元素
<tlib-version>
此标签库的版本
<jsp-version>
此标签库依赖的JSP版本。
<short-name>
<description>
<display-name>
<icon>
<uri>
<validator>
<listener>
<function>
当在JSP中使用标签时,此标签库首选或者建议的前缀。当然可以完全忽略这个建议
描述信息
图形工具可显示的一个简短名称
图形工具可显示的图标
指定使用该标签库中标签的URI
关于该库的TagLibraryValidator信息
指定事件监听器类
定义一个在EL中使用的函数
<tag>
定义一个标签
<tag>元素的子元素
标 签
含 义
<description>
<display-name>
<icon>
<name>
指定针对标签的信息
开发工具用于显示的一个简短名称
可被开发工具使用的图标
标签名称
<tag-class>
<tei-class>
Java标签处理器类的名称。注意这是处理器类的全限定名称,比如com.xx.tag.TableTag
Javax.servlet.jsp.tagext.TagExtraInfo类的一个可选子类
<body-content>
<variable>
<example>
此标签的主体部分的内容。其值可为scriptless\tagdependent\empty,默认为empty
定义脚本变量信息
使用该标签例子的可选的非正式描述
<attribute>
包含了此标签的一个属性的元数据
<attribute>的子元素
标 签
含 义
<description>
<name>
有关描述的文本信息
在jsp标签中使用的属性名称
<required>
<rtexprvalue>
<type>
指定属性是必须的还是可选的,默认为false,表示属性可选。如果该值为true,则jsp页面必须为该属性提供一个值。可能的值true、false、yes、no
指定属性是否能接受请求时表达式的值,默认为false,表示不能接受请求时表达式的值。可能值:true、false、yes、no
属性的数据类型,该元素只能用在当<rtexprvalue>设置为true时。它指定当使用请求时属性表达式(<%= %>)返回类型。默认string
实例(继承SimpleTagSupport类方式):
编写一个DateTag标签,输出系统时间。<c1:date/>,输出的格式:2011年11月9日
step1: 写一个java类,继承SimpleTagSupport类
step2: override doTag()方法,在该方法里,实现相应的处理逻辑
1 package mytag; 2 import java.io.IOException; 3 import java.text.SimpleDateFormat; 4 import java.util.Date; 5 import javax.servlet.jsp.JspException; 6 import javax.servlet.jsp.JspWriter; 7 import javax.servlet.jsp.PageContext; 8 import javax.servlet.jsp.tagext.SimpleTagSupport; 9 10 public class DateTag extends SimpleTagSupport{11 @Override12 public void doTag() throws JspException, IOException {13 PageContext ctx = (PageContext)getJspContext();14 JspWriter out = ctx.getOut();15 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");16 out.println(sdf.format(new Date()));17 }18 }
step3: 在.tld文件当中,描述该标签
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <taglib xmlns="http://java.sun.com/xml/ns/j2ee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" 5 version="2.0"> 6 <tlib-version>1.1</tlib-version> 7 <short-name>c1</short-name> 8 <uri>http://www.tarena.com.cn/mytag1</uri> 9 <tag>10 <name>date</name>11 <tag-class>mytag.DateTag</tag-class>12 <body-content>empty</body-content>13 </tag>14 </taglib>
step4: 使用taglib导入标签(jsp中)
1 <%@taglib prefix="c1" uri="http://www.tarena.com.cn/mytag1" %>2 <c1:date/>
- JSP自定义标签开发+TLD文件元素详解+实例
- JSP自定义标签开发+TLD文件元素详解
- JSP自定义标签开发+TLD文件元素详解
- JSP自定义标签开发+TLD文件元素详解
- JSP自定义标签开发+TLD文件元素详解
- JSP自定义标签开发+TLD文件元素详解
- JSP自定义标签TLD文件详解
- Jsp自定义标签 二 tld 详解
- jsp自定义标签tld
- TLD文件配置详解(自定义标签)
- 自定义标签的开发之tld文件
- jsp:自定义标签实例(TLD)
- jsp自定义标签封装(tld)
- jsp自定义标签(tld)
- jsp自定义标签封装(tld)
- jsp自定义标签的使用以及tld文件配置总结
- jsp 自定义标签- *.tld 文件的创建方法之一
- JSP tld文件配置 自定义标签简单示例
- JavaScript 全局属性和全局函数
- Android开发流式布局FlowLayout
- eclipse 中开启断言
- 欢迎使用CSDN-markdown编辑器
- Python网络爬虫实战项目代码大全
- JSP自定义标签开发+TLD文件元素详解
- Android最佳性能实践(三)——高性能编码优化
- strsep函数
- google浏览器显示Adobe Flash player过期的处理方法
- 从程序的执行过程到多态
- [Cordova] 改进InAppBrowser插件(WebView),让其<input type="file">支持选择文件
- 盒子模型之margin重叠深度分析
- C++异或加密\解密文本文件(编译+链接+批处理)
- iOS——各种图片、界面变化的动画效果