在 Java Web 开发中,自定义标签(Custom Tag)是通过 JSP 标签库(Tag Library)实现的。自定义标签可以封装复杂的逻辑,使 JSP 页面更加简洁和易于维护。以下是一个简单的示例,展示如何创建和使用自定义标签。
1. 创建自定义标签处理器类
首先,创建一个自定义标签处理器类,该类需要继承 javax.servlet.jsp.tagext.SimpleTagSupport 类,并实现 doTag 方法。
package com.example.tags;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import java.io.IOException;
public class HelloWorldTag extends SimpleTagSupport {
@Override
public void doTag() throws JspException, IOException {
JspWriter out = getJspContext().getOut();
out.write("Hello, World!");
}
}
2. 创建 TLD 文件
TLD(Tag Library Descriptor)文件用于描述标签库中的标签。创建一个 mytags.tld 文件,并将其放在 WEB-INF 目录下。
<?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">
<tlib-version>1.0</tlib-version>
<short-name>mytags</short-name>
<uri>http://example.com/tags</uri>
<tag>
<name>helloWorld</name>
<tag-class>com.example.tags.HelloWorldTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
3. 在 JSP 页面中使用自定义标签
在 JSP 页面中,使用 <%@ taglib %> 指令引入自定义标签库,并使用自定义标签。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://example.com/tags" prefix="my" %>
<html>
<head>
<title>自定义标签示例</title>
</head>
<body>
<h1>使用自定义标签</h1>
<my:helloWorld />
</body>
</html>
解释
-
自定义标签处理器类:
HelloWorldTag类继承了SimpleTagSupport,并重写了doTag方法。doTag方法中,通过JspWriter对象将 “Hello, World!” 写入到 JSP 页面的输出流中。
-
TLD 文件:
mytags.tld文件描述了标签库中的标签。<tag>元素定义了一个名为helloWorld的标签,指定了其对应的处理器类com.example.tags.HelloWorldTag。
-
JSP 页面:
- 使用
<%@ taglib %>指令引入自定义标签库,指定前缀为my。 - 使用
<my:helloWorld />标签调用自定义标签。
- 使用

320

被折叠的 条评论
为什么被折叠?



