在JSP中编写你的第一个Tag
来源:互联网 发布:php sql注入漏洞修复 编辑:程序博客网 时间:2024/05/17 01:51
<script type="text/javascript">google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>编写一个Tag涉及三个步骤,(1)编写JSP(2)编写Tag的java程序(3)编写tag库的描述文件tld(实际是一个XML文件)这三个步骤之间没有顺序约束,下面是一个简单的例子:1 编写HelloTag.jsp<%@page contentType="text/html"%><html><head><title>Hello Tags Page</title></head><body><%@ taglib uri="/WEB-INF/classes/tags/helloTag.tld" prefix="hello" %><hello:helloTag /></body></html>2 编写tagHelloTag.javapackage tags; //注意:必须放在一个包中import java.io.*;import javax.servlet.jsp.*;import javax.servlet.jsp.tagext.*;public class HelloTag extends TagSupport { public int doStartTag() { try { //使用JspWriter获得JSP的输出对象 JspWriter jspWriterOutput = pageContext.getOut(); jspWriterOutput.print("Hello Tag!"); } catch (IOException ioEx) { System.out.println("IOException in HelloTag " ioEx); } return (SKIP_BODY); }}3 编写helloTag.tld这是Tag库的描述部分:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"><taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>helloTag</short-name> <uri>/WEB-INF/tags/helloTag</uri> <display-name>helloTag</display-name> <small-icon></small-icon> <large-icon></large-icon> <description>simple hello tags tag </description> <tag> <name>helloTag</name> <tag-class>tags.HelloTag</tag-class> <body-content>empty</body-content> <small-icon></small-icon> <large-icon></large-icon> <description></description> <example></example> </tag></taglib>4 注意:通常手工编写XML文件,但是Sun的教程建议使用IDE工具编写自定义tag,比如NetBeans一般,直接把tld文件放到WEB-INF目录中。参考文献:http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPIntro10.html