`
starbhhc
  • 浏览: 634514 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

JSP自定义标签之基本步聚

    博客分类:
  • JSTL
阅读更多
在《简单实例》中我们演示了创建自定义标签的完整的过程,本文将对这个过程进行一些解释说明,以便读者能够了解创建自己定义标签的基本过程。 自定义标签其实与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自定义标签技术(实现原理与代码以及平台搭建步骤).docx

    jsp自定义标签实例

    这是本人自己写的,里面包括传参与不传参的标签,很方便,步骤很详细。所有就上传上来了。

    jsp自定义标签技术(实现原理与代码以及平台搭建步骤)

    所有就有了jsp 的自定义标签技术。 所以jsp的自定义标签技术就是除去jsp的中的java代码。同时封装标签个人感觉也是一种安全性的体现,不让别人知道实现内部的代码。 那个如何实现自定义标签技术呢? 第一你得搭建一...

    JSP自定义标签入门学习

    本文为大家分享了JSP自定义标签入门学习教程,希望大家喜欢。 1.JSP自定义标签: 自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作...

    自定义JSP分页标签

    很适用的自定义JSP分页标签,...讲解一下:自定义分页标签实现步骤--1.编写一个分页标签处理类;2.配置标记的tld;3.web.xml配置;4.jsp页面调用标记.顺便补充一下:分页,有真分页(读多少取多少)和假分页(全部读在分页显示)!

    jsp自定义标签

    有关于自定义标签的一些具体的用法,以及使用步骤和引入方式。

    JSP自定义标签-标签属性_动力节点Java学院整理

    对自定义标签添加一些属性,可以使我们的标签功能更加灵活和复用。例如前一篇博客使用简单标签来对标签体内容执行一定的次数,就无法在标签上规定要执行的次数,必须在标签处理器类中修改,很不方便,如果使用带属性...

    JSP使用自定义标签防止表单重复提交的方法

    主要介绍了JSP使用自定义标签防止表单重复提交的方法,以实例形式较为详细的分析了JSP基于自定义标签防止表单重复提交的具体步骤与实现方法,具有一定参考借鉴价值,需要的朋友可以参考下

    Struts2 自定义下拉框标签Tag(源码)

    自定义标签主要包括三个步骤: 1、编写java类,继承TagSupport类; 2、创建tld文件,影射标签名和标签的java类; 3、jsp页面引入tld。 博文地址:http://blog.csdn.net/itmyhome1990/article/details/50718282

    JSP 标准标签库(JSTL)

    除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。 根据JSTL标签所提供的功能,可以将其分为5个类别。 核心标签 格式化标签 SQL 标签 XML 标签 JSTL 函数 JSTL 库安装 Apache Tomcat安装JSTL 库步骤如下...

    JSP基础与案例开发详解 光盘part1

    书中内容由浅入深、循序渐进地介绍了JSP的基本运用,其中包括网页布局与修饰、JDBC应用、Servlet应用、JSP运用、EL表达式运用、自定义标签运用、标准标签库运用等。在讲解的过程中,引用了大量的实例,且每一部分...

    JSP网络编程学习笔记源代码 part2

    第五篇为“标签语言和表达式语言”,主要讲述JSP的标签技术,JSP提供的标准标签库JSTL的用法及用户如何自定义自己的标签库;第六篇为“Web应用高级专题”,主要讲述Servlet过滤器、JSP异常处理、JSP日志、认证和安全...

    JSP基础与案例开发详解 光盘part2

    书中内容由浅入深、循序渐进地介绍了JSP的基本运用,其中包括网页布局与修饰、JDBC应用、Servlet应用、JSP运用、EL表达式运用、自定义标签运用、标准标签库运用等。在讲解的过程中,引用了大量的实例,且每一部分...

    day13_2.zip

    博文示例代码。...自定义标签其实就是自定义类一样!步骤:1. 定义标签处理类:必须是Tag或SimpleTag的实现类;2. 编写标签库描述符文件(TLD);3. 页面中使用`&lt;%@taglib%&gt;`来指定tld文件的位置。

    低清版 大型门户网站是这样炼成的.pdf

    7.6.2 文本新闻列表分页控制自定义标签类textnewspagetag 502 7.6.3 图片新闻列表自定义标签类picnewstag 505 7.6.4 幻灯片新闻列表自定义标签类slidenewstag 507 7.6.5 struts2与ajax完全结合实现点击数加一 510...

    struts2分页代码的示例

    在开发web程序时,从数据库中取出来的数据一般都要分页显示在页面上,分页显示的方法非常多,有人写自定义标签,用自己写的标签进行分页显示,我个人觉得这是一种比较好的方法。下面是我用Struts2做的一个分页显示...

    editplus 代码编辑器html c++ jsp css

    由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘组合: Ctrl+F = 调出查找对话框 Ctrl+H = 调出替换对话框 Alt+F4 = 关闭作用,比如,关闭查找...

    从J2SE到J2EE知识点介绍

    (三) 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,...

Global site tag (gtag.js) - Google Analytics