Baidu
sogou

例1-6中,<%@ taglib prefix="it" uri="/WEB-INF/tld/itcast-tag.tld" %>是用来导入标签库,目的是为页面指定tld文件的位置,也可以将uri的值设为http://www.itcast.cn/tags/it-1.0,这个路径是我们在itcast-tag.tld文件中配置的。当标签库被导入了,在页面中使用自定义的标签时,页面会有提示。
(7)将Example11发布到服务器中,然后启动服务器,在浏览器端访问myTag.jsp,浏览器显示结果如图1-1所示:

图1-1 浏览器显示结果
以上自定义标签的处理类实现了SimpleTag接口,需要重写五个方法,而且需要我们自己在类中定义成员变量pageContext,然后对该变量进行赋值操作,这样很麻烦。有一种简便的方法可以让我们只重写doTag()方法,其他方法不用考虑,那就是继承SimpleTagSupport类。SimpleTagSupport类的结构如图1-2所示:

图1-2 SimpleTagSupport类
由图1-2中可知,SimpleTagSupport类实现了SimpleTag接口,那么它必然重写了SimpleTag接口的五个方法,我们再来看看SimpleTagSupport类又定义了哪些方法,如下所示:

图1-3 SimpleTagSupport类的相关方法
例1-3中,除了重写的SimpleTag接口的方法,它还提供了以下三个方法:
(8)在Example11中新建一个标签处理类,名称为MyTag1,该类继承SimpleTagSupport类,主要代码如例1-7所示:
例1-7 MyTag1.java
public class MyTag1 extends SimpleTagSupport{
    @Override
    public void doTag() throws JspException, IOException {
        this.getJspContext().getOut().print("继承SimpleTagSupport类的标签");
    }
}
例1-7中,MyTag1重写了父类的doTag()方法,调用父类的getJspContext()方法获得JspContext类的对象,然后获得out对象,利用out对象向浏览器端输出内容。
(9)在itcast-tag.tld文件中添加MyTag1的配置信息,如例1-8所示:
此处省略例1-5中的代码

  MyTag1
  cn.itcast.tag.MyTag1
  empty
(10)在myTag.jsp页面中添加一个标签,如例1-9所示:
此处省略例1-6中的代码

SimpleTagSupport:
(11)在浏览器端再次访问myTag.jsp页面,浏览器显示结果如图1-4所示:

图1-4 浏览器显示结果


本文版权归澳门大阳城APP入口java学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:澳门大阳城APP入口java学院
首发:http://java.itcast.cn/
0 分享到:

Java高级软件工程师课程javaee

Python大数据课程python

web前端课程全薪升级V8.5web

AI+设计课程design

大数据培训班cloud

软件测试培训课程test

c

新媒体运营培训课程netmarket

产品经理培训课程pm

linux培训班Linux

影视制作培训movies

智能机器人开发robot

电商视觉设计uids

人工智能培训课程Python

集成电路应用开发(嵌入式)培训课程jdbc

北京校区

    和我们在线交谈!
    Baidu
    sogou