创建自己的自定义标签,并输出标签中的内容

创建自定义标签所需的jar如下

<dependency>
    <groupId>javax.servlet.jsp.jstl</groupId>
    <artifactId>javax.servlet.jsp.jstl-api</artifactId>
    <version>1.2.1</version>
</dependency>
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <version>2.3.2-b02</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
 <dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
 </dependency>


创建一个tld文件 mytag.tld

<?xml version="1.0" encoding="UTF-8"?>
<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">
 <tlib-version>1.0</tlib-version>
 <jsp-version>1.2</jsp-version>
 <short-name>mytag</short-name>
 <uri>http://www.zyc.com/mytag</uri>
 <tag>
     <name>isTrue</name>
     <tag-class>com.zyc.tag.Mytag</tag-class>
         <!-- 定义标签体 此值很重要 建议可以网上搜索一下具体的用法-->
      <body-content>scriptless</body-content>

     <!-- 定义属性 -->

  <attribute> <name>role</name> <required>true</required> <fragment>true</fragment> </attribute> </tag></taglib>

接下来看我们com.zyc.tag.Mytag 这个类

package com.zyc.tag;

import java.io.IOException;
import java.io.Writer;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;

/**
 * @author:
 * @date:2017年7月29日 下午9:54:02
 * @description:
 * @version :
 *
 */
public class Mytag extends SimpleTagSupport{

    private String role;
    public String getRole() {
        return role;
    }
    public void setRole(String role) {
        this.role = role;
    }
    @Override
    public void doTag() throws JspException, IOException {
        StringBuffer sb = new StringBuffer();
        Writer out = getJspContext().getOut();
        if(role.equalsIgnoreCase("admin")){
        getJspBody().invoke(out);//如果此行代码不写将无法实现把标签中定义的内容输出
        }else{
        
        }
        out.write(sb.toString());
        
    }

}

我们创建一个jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://www.zyc.com/mytag" prefix="mytag"%>
<html>
<body>
    <h2 style="height: ">Hello World!</h2>
    <mytag:isTrue role="admin">
        <input type="button" value="增加">
    </mytag:isTrue>
    <mytag:isTrue role="zyc">
        <input type="button" value="删除">
    </mytag:isTrue>
</body>
</html>

当角色是admin的时候会显示增加按钮,当角色为zyc的时候删除按钮不显示

此实例只是简单的运用自定义标签
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值