jsp自定义标签
一、jsp自定义标签的的语言特点
二、jsp自定义标签的描写
三、jsp自定义标签的生命周期
1、自定义标签的语言特点
<开始标签 属性=“属性值”>标签体</结束标签>
例如:
<c:set var="name" value="xy"></c:set>
空标签
例如:
<br> <hr>
2、jsp自定义标签的描写
1、导jar包
2、导入标签库
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
在下图这个位置导
3、例如我写这么一段
<c:set var="name" value="xy"></c:set>
<hr>
<c:out value="${name}"></c:out>
<hr>
<c:if test="true">男</c:if>
<hr>
<c:if test="false">女</c:if>
<hr>
运行出来的会是
3、jsp自定义标签的生命周期
如下图
SKIP_BODY:跳过主体
EVAL_BODY_INCLUDE:计算标签主体内容并输出
EVAL_BODY_BUFFERED:计算标签主体内容并缓存
EVAL_PAGE:计算页面的后续部分
SKIP_PAGE:跳过页面的后续部分
EVAL_BODY_AGAIN:再计算主体一次
然后我们来实现它
a、先创建一个标签库,与要展示的内容对应
<?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>c</short-name>
<uri>/xieying</uri>
<tag>
<name>set</name>
<tag-class>com.xieying.jsp2.SetTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>var</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>out</name>
<tag-class>com.xieying.jsp2.OutTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>if</name>
<tag-class>com.xieying.jsp2.IfTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>test</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
另一边在jsp页面上方导入标签库(第一条有写到怎么导)
b、然后写助手类,继承BodyTagSupport,与需求所对应
接下来在界面写展示的内容
运行结果为
总结:熟悉并掌握jsp生命周期图,了解之后可以解决一些代码重复过多的问题