在《简单实例》中我们演示了创建自定义标签的完整的过程,本文将对这个过程进行一些解释说明,以便读者能够了解创建自己定义标签的基本过程。 自定义标签其实与JavaBeans极为相似,如果已经熟练掌握了JavaBeans的用法那么学习自己定义标签将是极为简单的事情
在《简单实例》中我们演示了创建自定义标签的完整的过程,本文将对这个过程进行一些解释说明,以便读者能够了解创建自己定义标签的基本过程。
自定义标签其实与JavaBeans极为相似,如果已经熟练掌握了JavaBeans的用法那么学习自己定义标签将是极为简单的事情。当然,从实现上说,自定义标签与JavaBeans还是有一些区别的。
首先,作为自定义标签它必须拥有一个标签处理程序类,这个类就相当于一个Bean,但是,这个类必须实现接口Tag或者BodyTag。Tag接口定义了自定义标签中所有需要实现的方法,BodyTag接口是一个扩展于Tag的接口,它添加了用于访问自定义标签中标签体的方法。不过在实际应用中我们一般不直接实现这两个类,而是通过继续类TagSupport或BodyTagSupport达到目的。类TagSupport实现了接口Tag,而类BodyTagSupport则扩展于类TagSupport并实现了接口BodyTag。
对于标签处理程序CopyRightTag,由于实现的功能极其简单,所以使它扩展于类TagSupport就可以了。
与使用JavaBeans一样,为了适应各种JSP容器,标签处理程序最好置于一个包中,在《简单实例》中的标签处理程序CopyRightTag被置于包com.yanzhijun之中,与此同时,必须将类CopyRightTag声明为public的,以便在包外可以对它进行访问。
doEndTag是Tag接口所定义方法,在JSP容器遇到结束标记时它就会调用这个方法。CopyRightTag在这个方法中输出了相关的版权信息。与doEndTag方法相对的应还有一个doStartTag方法,JSP容器会在碰到开始标记进调用它,在类CopyRightTag中没有对它进行重写,此后演示更复杂的例子时您将看到对它的应用。
自定义标签必须通过TLD文件建立标签与标签处理程序之间的联系,文件testlib.tld的前部是XML文档的版本说明及文档定义声明,最重要的是taglib标签下的tag标签,它对自定义标签进行了说明。以下示例中用红色文字说明了它们的功能:
<name>copyright</name> 标签的名字
<tagclass>com.yanzhijun.CopyRightTag</tagclass> 标签处理程序
<bodycontent>empty</bodycontent> 标签体的说明,此外表明为空
<attribute/> 标签属性的说明,此处表明没有属性
最后,是关于如何使用自定义标签的说明,为了在JSP文件中使用自定义标签,需要在文件的开始部分声明自定义标签tld文件的位置。《简单实例》中指出的位置是WEB-INF目录下的tlds目录下的testlib.tld文件,prefix属性指名在JSP文件中使用该标签文件中的标签时应使用的前缀。
<%@ taglib uri="WEB-INF/tlds/testlib.tld" prefix="yzj" %>
上述工作完成后,在JSP页面中出现的“<yzj:copyright/>”标签就实现了对该自定义标签的调用,yzj是在声明tld文件位置时指出的前缀,而copyright是我们在tld文件中定义的自定义标签名。
分享到:
相关推荐
jsp自定义标签技术(实现原理与代码以及平台搭建步骤).docx
这是本人自己写的,里面包括传参与不传参的标签,很方便,步骤很详细。所有就上传上来了。
所有就有了jsp 的自定义标签技术。 所以jsp的自定义标签技术就是除去jsp的中的java代码。同时封装标签个人感觉也是一种安全性的体现,不让别人知道实现内部的代码。 那个如何实现自定义标签技术呢? 第一你得搭建一...
本文为大家分享了JSP自定义标签入门学习教程,希望大家喜欢。 1.JSP自定义标签: 自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作...
很适用的自定义JSP分页标签,...讲解一下:自定义分页标签实现步骤--1.编写一个分页标签处理类;2.配置标记的tld;3.web.xml配置;4.jsp页面调用标记.顺便补充一下:分页,有真分页(读多少取多少)和假分页(全部读在分页显示)!
有关于自定义标签的一些具体的用法,以及使用步骤和引入方式。
对自定义标签添加一些属性,可以使我们的标签功能更加灵活和复用。例如前一篇博客使用简单标签来对标签体内容执行一定的次数,就无法在标签上规定要执行的次数,必须在标签处理器类中修改,很不方便,如果使用带属性...
主要介绍了JSP使用自定义标签防止表单重复提交的方法,以实例形式较为详细的分析了JSP基于自定义标签防止表单重复提交的具体步骤与实现方法,具有一定参考借鉴价值,需要的朋友可以参考下
自定义标签主要包括三个步骤: 1、编写java类,继承TagSupport类; 2、创建tld文件,影射标签名和标签的java类; 3、jsp页面引入tld。 博文地址:http://blog.csdn.net/itmyhome1990/article/details/50718282
除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。 根据JSTL标签所提供的功能,可以将其分为5个类别。 核心标签 格式化标签 SQL 标签 XML 标签 JSTL 函数 JSTL 库安装 Apache Tomcat安装JSTL 库步骤如下...
书中内容由浅入深、循序渐进地介绍了JSP的基本运用,其中包括网页布局与修饰、JDBC应用、Servlet应用、JSP运用、EL表达式运用、自定义标签运用、标准标签库运用等。在讲解的过程中,引用了大量的实例,且每一部分...
第五篇为“标签语言和表达式语言”,主要讲述JSP的标签技术,JSP提供的标准标签库JSTL的用法及用户如何自定义自己的标签库;第六篇为“Web应用高级专题”,主要讲述Servlet过滤器、JSP异常处理、JSP日志、认证和安全...
书中内容由浅入深、循序渐进地介绍了JSP的基本运用,其中包括网页布局与修饰、JDBC应用、Servlet应用、JSP运用、EL表达式运用、自定义标签运用、标准标签库运用等。在讲解的过程中,引用了大量的实例,且每一部分...
博文示例代码。...自定义标签其实就是自定义类一样!步骤:1. 定义标签处理类:必须是Tag或SimpleTag的实现类;2. 编写标签库描述符文件(TLD);3. 页面中使用`<%@taglib%>`来指定tld文件的位置。
7.6.2 文本新闻列表分页控制自定义标签类textnewspagetag 502 7.6.3 图片新闻列表自定义标签类picnewstag 505 7.6.4 幻灯片新闻列表自定义标签类slidenewstag 507 7.6.5 struts2与ajax完全结合实现点击数加一 510...
在开发web程序时,从数据库中取出来的数据一般都要分页显示在页面上,分页显示的方法非常多,有人写自定义标签,用自己写的标签进行分页显示,我个人觉得这是一种比较好的方法。下面是我用Struts2做的一个分页显示...
由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘组合: Ctrl+F = 调出查找对话框 Ctrl+H = 调出替换对话框 Alt+F4 = 关闭作用,比如,关闭查找...
(三) Jsp基本页面标签 116 1. 标签 116 2. contentType属性 118 3. pageEncoding属性 118 (四) form表单中的action,post和get 119 1. form中的action属性 119 2. from中的get和post 120 (五) jsp内置对象(request,...