继承TagSupport设计一个z标签,实现提示行的输出 <z:hr/> 上面的标签实现的功能为,在标签所在的位置输出 --------separator---------
时间: 2023-08-15 12:10:37 浏览: 95
好的,我来给你讲一下如何实现。
首先,我们需要创建一个 Java 类,继承 TagSupport 类,并重写 doStartTag 方法,在其中实现标签的输出。
```java
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import java.io.IOException;
public class HrTag extends TagSupport {
@Override
public int doStartTag() throws JspException {
try {
JspWriter out = pageContext.getOut();
out.print("--------separator---------");
} catch (IOException e) {
e.printStackTrace();
}
return SKIP_BODY;
}
}
```
接下来,在 WEB-INF 目录下创建一个 tld 文件,用来注册自定义标签。
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<taglib version="2.1" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd">
<tlib-version>1.0</tlib-version>
<short-name>mytags</short-name>
<uri>/WEB-INF/hr-tag.tld</uri>
<tag>
<name>hr</name>
<tag-class>HrTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
```
在 JSP 页面中引入自定义标签库,并使用 hr 标签即可。
```jsp
<%@ taglib uri="/WEB-INF/hr-tag.tld" prefix="z" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Custom Tag Example</title>
</head>
<body>
<h1>Hello World!</h1>
<z:hr/>
<p>This is a custom tag example.</p>
<z:hr/>
</body>
</html>
```
当你访问该页面时,就会在 hr 标签所在的位置输出 --------separator---------。
希望这个例子能够帮助到你!
阅读全文