JSP自定义标签的使用
本例程在Eclipse环境下开发,所使用的Tomcat版本是5.5.9,JDK1.5。
一、在Eclipse下新建工程mytaglib。
二、编写用于处理hello标签的类HelloTag.java,源代码如下:
package mypack;
import javax.servlet.*;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.TagSupport;
public class HelloTag extends TagSupport
{
public void HelloTag(){}
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 Library的描述文件mytaglib.tld,这个文件定义mytaglib标签库和hello标签,这个文件存放的位置
为/web-inf/mytaglib.tld,源代码如下:
<?xml version = "1.0" encoding = "ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>mytaglib</shortname>
<uri>/mytaglib</uri>
<tag>
<name>hello</name>
<tagclass>mypack.HelloTag</tagclass>
<bodycontent>empty</bodycontent>
<info>Just Says Hello</info>
</tag>
</taglib>
四、在web.xml文件中加入<taglib>元素,源代码如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>Struts TilesTaglibs Sample Application</display-name>
<welcome-file-list>
<welcome-file>hello.jsp</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>/mytaglib</taglib-uri>
<taglib-location>/WEB-INF/mytaglib.tld</taglib-location>
</taglib>
</web-app>
<taglib>中包含两个属性<taglib-uri>和<taglib-location>。其中<taglib-uri>指定Tag Library标识符;
<taglib-location>指定Tag Library的描述文件(TLD)的位置。
五、在JSP文件中引用hello标签,源代码如下:
//hello.jsp
<%@ taglib uri = "/mytaglib" prefix = "yanhua" %>
<html>
<body>
<b><yanhua:hello/>:yanhua</b>
</body>
</html>
posted on 2005-08-09 13:42
greatyanke 阅读(945)
评论(0) 编辑 收藏 所属分类:
IT