zoukankan      html  css  js  c++  java
  • 自定义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     @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)  测试

  • 相关阅读:
    Redhat Lighttpd安装配置
    PHP正则表达式学习参考的文章
    50点提高PHP编程效率 引入缓存提升性能
    位运算符C语言
    Redhat Mongodb学习笔记
    Redhat Cacti安装配置
    HTTP 状态代码表示什么意思?
    map容器对象插入数据的4种方式
    socket网络间通信初识
    仿美团项目-第一部分
  • 原文地址:https://www.cnblogs.com/Oven5217/p/7081669.html
Copyright © 2011-2022 走看看