首页 > 代码库 > 自定义JSP标签

自定义JSP标签

目标:创建一个自定义JSP标签,使用该标签可以控制其标签体的显示与不显示。

1)  新建web项目

技术分享

2)  新建一个处理标签的java类

 1 package com.skyer; 2  3 import java.io.StringWriter; 4  5 import javax.servlet.jsp.JspException; 6 import javax.servlet.jsp.tagext.Tag; 7 import javax.servlet.jsp.tagext.TagSupport; 8  9 public class MyTag extends TagSupport {10 11     private static final long serialVersionUID = 1L;12 13     private String display;14 15     @Override16     public int doStartTag() throws JspException {17         if ("1".equals(display)) { // 1的时候显示18             return Tag.EVAL_BODY_INCLUDE;19         } else if ("0".equals(display)) { // 0的时候不显示20             return Tag.SKIP_BODY;21         } else { // 其他的都不显示22             return Tag.SKIP_BODY;23         }24     }25 26     public void setDisplay(String display) {27         this.display = display;28     }29 30 }

3)  在WEB-INF目录下新建MyTag.tld文件

 1 <?xml version="1.0" encoding="UTF-8"?>      2 <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> 3 <taglib> 4     <tlib-version>1.0</tlib-version> 5     <jsp-version>2.0</jsp-version> 6     <short-name>my</short-name> 7      8     <tag> 9         <name>MyTag</name>10         <tag-class>com.skyer.MyTag</tag-class>11         <body-content>jsp</body-content>12         <attribute>13             <name>display</name>14             <required>true</required>15         </attribute>16     </tag>17     18 </taglib>

4)  在index.jsp文件中引入自定义的标签

1 <%@ taglib uri="/WEB-INF/MyTag.tld" prefix="my" %>

5)  使用该标签

1 <my:MyTag display="1">2   <font color="red">Hello Tag!</font>3 </my:MyTag>

6)  测试

自定义JSP标签