码迷,mamicode.com
首页 > Web开发 > 详细

自定义JSP标签

时间:2017-06-26 19:07:00      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:alt   技术   span   1.2   glib   port   tags   定义   oid   

目标:创建一个自定义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     @Override
16     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标签

标签:alt   技术   span   1.2   glib   port   tags   定义   oid   

原文地址:http://www.cnblogs.com/skyer5217/p/7081669.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!