目录
一、标签语言特点
1、形式
<开始标签 属性="属性值">标签体</结束标签>
<c:if test="true"> 开始标签
true 标签体
</c:if> 结束标签
2、分类
标签分类:控制标签、数据标签、UI标签
没有标签体也能在网页中输出内容的标签称为ui标签
通过点击c:if标签,可以连接跳转到c.tld文件中,而.tld文件就是C标签库的定义配置文件
二、自定义标签的开发及使用步骤
步骤:
1、助手类,继承BodyTagSupport
2、标签库描述文件(tld)
[注:]tld文件必须保存到WEB-INF目录或其子目录
3、jsp通过taglib指令导入标签库
1.自定义标签库是与tld文件相关的
2.标签库中的标签与tld中的tag元素有关,也就是跟tag元素对应的助手类有关
实例:将c:if换成s:if
按住ctrl点击c:if,进入到c.tld,将其复制下来
ssr.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 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 core library</description>
<display-name>JSTL core</display-name>
<tlib-version>1.1</tlib-version>
<short-name>s</short-name>
<uri>http://jsp.veryedu.cn</uri><validator>
<description>
Provides core validation features for JSTL tags.
</description>
<validator-class>
org.apache.taglibs.standard.tlv.JstlCoreTLV
</validator-class>
</validator><tag>
<!-- 代表标签库标签的名字 -->
<name>demo1</name>
<!-- 该标签对应的助手类的全路径名 -->
<tag-class>com.shishirong.tag.DemoTag1</tag-class>
<!-- 代表是一个JSP标签 -->
<body-content>JSP</body-content>
<!-- <attribute>
该自定义JSP标签的属性名称
<name>var</name>
该属性是否必填
<required>false</required>
该属性值是否支持表达式
<rtexprvalue>false</rtexprvalue>
</attribute> -->
</tag><tag>
<!-- 代表标签库标签的名字 -->
<name>if</name>
<!-- 该标签对应的助手类的全路径名 -->
<tag-class>com.shishirong.tag.IfTag</tag-class>
<!-- 代表是一个JSP标签 -->
<body-content>JSP</body-content>
<attribute>
<!-- 该自定义JSP标签的属性名称 -->
<name>test</name>
<!--该属性是否必填 -->
<required>true</required>