开发和使用JSP自定义标签过程:
1.开发标签实现类.
HelloTag_Interface.java文件内容:
java 代码
- import javax.servlet.jsp.tagext.Tag;
- import javax.servlet.jsp.PageContext;
- import javax.servlet.jsp.JspException;
- import java.io.*;
- import javax.servlet.jsp.JspTagException;
- /** *//**
- * 以实现Tag接口的方式来开发标签程序
- */
- public class HelloTag
- implements Tag ...{
- private PageContext pageContext;
- private Tag parent;
- public HelloTag()...{
- super();
- }
- /** *//**
- * 设置标签的页面上下文
- * @param pageContext
- */
- public void setPageContext(PageContext pageContext) ...{
- this.pageContext=pageContext;
- }
- /** *//**
- * 设置上一级标签
- * @param t
- */
- public void setParent(Tag parent) ...{
- this.parent=parent;
- }
- public Tag getParent() ...{
- return this.parent;
- }
- /** *//**
- * 开始标签时的操作
- * @return
- * @throws JspException
- */
- public int doStartTag() throws JspException ...{
- return this.SKIP_BODY;//返回SKIP_BODY,表示不计算标签体
- }
- /** *//**
- * 结束标签时的操作
- * @return
- * @throws JspException
- */
- public int doEndTag() throws JspException ...{
- try ...{
- pageContext.getOut().write("Hello World!");
- }
- catch (IOException ex) ...{
- throw new JspTagException("IO Error:"+ex.getMessage());
- }
- return this.EVAL_PAGE;
- }
- /** *//**
- * Release 用于释放标签程序占用的资源,比如使用了数据库连接,那么应该关闭这个连接
- */
- public void release() ...{
- }
- }
2.编写标签库描述.
在WEB-INF\目录下新创建一个mytag.tld文件:
xml 代码
- <?xml version="1.0" encoding="GBK"?>
- <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
- version="2.0">
- <description>A tag library exercising SimpleTag handlers.</description>
- <tlib-version>1.0</tlib-version>
- <short-name>my</short-name>
- <uri>/mytag</uri>
- <description>学习标签</description>
- <tag>
- <description>输出Hello World</description>
- <name>hello</name>
- <tag-class>HelloTag</tag-class>
- <body-content>empty</body-content>
- </tag>
- </taglib>
3.配置自定义标签到工程中.
在web.xml文件里添加:
xml 代码
- <web-app>
- ...
- <taglib>
- <taglib-uri>/mytag</taglib-uri>
- <taglib-location>/WEB-INF/mytag.tld</taglib-location>
- </taglib>
- ...
- </web-app>
4.在JSP文件中使用自定义标签.
编写mytag.jsp文件:
java 代码
- <%...@ taglib uri="/mytag" prefix="my" %>
- <%...@ page contentType="text/html;charset=GBK" language="java" %>
- <html>
- <head>
- <title>first tag</title>
- <meta http-equiv="Content-Type" content="text/html;charset=GBK">
- </head>
- <body>
- <p>以下的内容从Taglib中输出显示:</p>
- <p><my:hello /></p>
- </body>
- </html>
本文详细介绍如何通过Java开发并使用JSP自定义标签,包括标签实现类的编写、标签库描述文件的创建、标签在工程中的配置以及最终在JSP文件中的应用。
579

被折叠的 条评论
为什么被折叠?



