jsp自定义标签

<?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">

  <display-name>自定义标签</display-name>
  <tlib-version>2.0</tlib-version>
  <jsp-version>2.0</jsp-version>
  <short-name>t</short-name>
  <uri>/WEB-INF/KmssConfig/dome/domea.tld</uri>
<tag>
 <name>formatDate</name>
 <tag-class>com.landray.kmss.dome.tag.dome.dome</tag-class>
 <body-content>tagdependent</body-content> 
         <attribute>
            <name>num</name>
            <required>true</required>
            <fragment>true</fragment>
            <description>变成一个a标签</description>
        </attribute>
</tag>

</taglib>

tid文件详解

  <display-name>自定义标签</display-name>   

是自己随便定义的没有特殊含义

<tlib-version>2.0</tlib-version>
<jsp-version>2.0</jsp-version>

jsp-version 合格是JSP版本号 也就是一个规范 目前JSP是2.0

tlib-version 标签库版本号 你打2.0就行了 这个也是无所谓的自己随便写的写1.0也行

<short-name>t</short-name>

重要:这里需要和 <%@ taglib prefix="t" uri="/WEB-INF/KmssConfig/dome/domea.tld" %> 你在页面引入标签库里面的 prefix=“t” 相同

  <uri>/WEB-INF/KmssConfig/dome/domea.tld</uri>

重要:这里需要和 <%@ taglib prefix="t" uri="/WEB-INF/KmssConfig/dome/domea.tld" %> 你在页面引入标签库里面的 uri="/WEB-INF/KmssConfig/dome/domea.tld 相同

<tag>  
 <name>formatDate</name>
 <tag-class>com.landray.kmss.dome.tag.dome.dome</tag-class>
 <body-content>tagdependent</body-content> 
        
</tag>

在tag标签里面定义 标签

<name>formatDate</name>

对应<t:formatDate num=“2019-11-26”></t:formatDate> t:formatDate 是自己取的标签 name名字

 <tag-class>com.landray.kmss.dome.tag.dome.dome</tag-class>

对应自定义标签的处理类

  <attribute>
            <name>num</name>
            <required>true</required>
            <fragment>true</fragment>
            <description>变成一个a标签</description>
        </attribute>

定义一个属性 attribute 标签
name 标签对应java类里面的 属性 名字
如下 对应 public String num; 属性 必须要有get和set方法

java代码 标签处理类

`public class dome extends SimpleTagSupport {
public String num;

public String getNum() {
return num;

}

public void setNum(String num) {
this.num =num ;
}

@Override
public void doTag() throws JspException, IOException {
	this.getJspContext().getOut().write("<a href='www.baidu'>"+num+"</a>");
}

}

 <required>true</required>
 <fragment>true</fragment>

required: 这个标签我也没找到啥意思 有两个值 ture 和 false
fragment :标签 true 和 false - 值先传递给容器(false), 直接传给标签处理方法(true)
description :注解解释这个属性的作用

前端页面

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="t" uri="/WEB-INF/KmssConfig/dome/domea.tld"  %>
<html>
<head>

</head>
<body>
<t:formatDate  num="点我"></t:formatDate>
</body>
</html>

效果 在这里插入图片描述 补充的一些东西

JSP:传统标签支持它,SimpleTag已经不支持使用JSP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值