Steel.Ma技术笔记 自定义标签库制作
1
自定义标签库制作
作者:Steel.Ma
Mail: steel.ma@139.com
steel.ma@tom.com
MSN: Motorola_8088@hotmail.com
Blog: http://hi.csdn.net/iamsteelma
http://blog.sina.com.cn/steelma
Steel.Ma技术笔记 自定义标签库制作
2
一、环境准备
基本的环境,请参考本人的《apache 与 Tomcat 整合
手册
华为质量管理手册 下载焊接手册下载团建手册下载团建手册下载ld手册下载
》,这里不再重复。
如果用的是类似 MyEclipse 之类的工具的话,那 ClassPath 也不用设置了,但作
为基本功,本人还是设置了一个 ClassPath:
C:\jdk\lib\dt.jar;C:\jdk\lib\tools.jar;C:\tomcat\lib\servlet-api.jar;
C:\tomcat\lib\jsp-api.jar
其中 jsp-api.jar 为自定义标签必须的。
二、编写 tag处理 class
首先写一个 tag 处理 class,文件名为 HelloTag.java,代码如下:
package mypack ;
import javax.servlet.jsp.JspException ;
import javax.servlet.jsp.JspTagException ;
import javax.servlet.jsp.tagext.TagSupport ;
public class HelloTag extends TagSupport
{
public void HelloTag(){}
Steel.Ma技术笔记 自定义标签库制作
3
public int doEndTag() throws JspException
{
try
{
pageContext.getOut().print("Hello !!!!") ;
}
catch (Exception e)
{
throw new JspTagException(e.getMessage()) ;
}
return SKIP_BODY ;
}
public void release()
{
super.release() ;
}
}
以上代码自定义了一个 tag,它将在屏幕上打印 Hello!!!的字样。
我们将其编译为 class,备用。
三、编写 tag说明文件 tld
tld 文件是对自定义标签的说明和定义配置文件,其实 tld 文件就是一个 xml
文件,现在编写一个 mytaglib.tld 文件,内容如下:
Steel.Ma技术笔记 自定义标签库制作
4
1.0
1.2
mytaglib
/mytaglib
hello
mypack.HelloTag
empty
Say Hello !
以上配置,将之前定义的那个标签配置命名为 hello。
编写完毕后,保存备用。
四、部署(重点)
以上都是简单的代码,并没有太大问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,关键在于部署,本人觉得,部署一
Steel.Ma技术笔记 自定义标签库制作
5
直是 J2EE 应用的重要阶段。
1、先修改 web.xml,将 tag 引入:
/mytaglib
/WEB-INF/mytaglib.tld
效果如下:
2、部署 class 与 tld 文件
下面是关键:
将之前准备好的 2 个文件拷贝过来,其中,mytaglib.tld 放在 web-inf 下,
与 web.xml 同一级目录:
Steel.Ma技术笔记 自定义标签库制作
6
然后在 classes 目录下,再建一个目录:mypack,也就是 HelloTag.java 开
头的那个包名,再把 HelloTag.class 拷贝到这个新建目录下,最后效果应如下:
以上部署完成。
测试
我们还是以《Apache 与 Tomcat 整合手册》中用到的 ttt.jsp 作为测试代码,
Steel.Ma技术笔记 自定义标签库制作
7
做如下修改:
1、引入自定义标签库:
在 jsp 文件的最上端加入如下代码:
<%@ taglib uri="/mytaglib" prefix="mm" %>
2、测试标签效果
在中,加入
最终,jsp 文件应如下:
开始测试,打开浏览器,输入 http://localhost/ttt.jsp,运行后,效
果应如下:
Steel.Ma技术笔记 自定义标签库制作
8
注:如果出现问题,可以重启一下 tomcat,并将 work 目录清空。