JSP Custom tags with example – JSP Tutorial

本文将详细解释如何在JSP中创建自定义标签,包括构建TagHandler类、配置TLD文件以及在JSP页面中使用自定义标签的过程,并通过实例展示具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

User-defined tags are known as custom tags. In this tutorial we will see how to create a custom tag and use it in JSP.

To create a custom tag we need three things:
1) Tag handler class: In this class we specify what our custom tag will do when it is used in a JSP page.
2) TLD file: Tag descriptor file where we will specify our tag name, tag handler class and tag attributes.
3) JSP page: A JSP page where we will be using our custom tag.

Example:

In the below example we are creating a custom tag MyMsg which will display the message “This is my own custom tag” when used in a JSP page.

Tag handler class:

A tag handler class should implement Tag/IterationTag/ BodyTag interface or it can also extend TagSupport/BodyTagSupport/SimpleTagSupport class. All the classes that support custom tags are present inside javax.servlet.jsp.tagext. In the below we are extending the class SimpleTagSupport.

Details.java
package beginnersbook.com;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;
public class Details extends SimpleTagSupport {
   public void doTag() throws JspException, IOException {
      /*This is just to display a message, when
       * we will use our custom tag. This message
       * would be displayed
       */
      JspWriter out = getJspContext().getOut();
      out.println("This is my own custom tag");
   }
}
TLD File

This file should present at the location: Project Name/WebContent/WEB-INF/ and it should have a .tld extension.

Note:
<name> tag: custom tag name. In this example we have given it as MyMsg
<tag-class> tag: Fully qualified class name. Our tag handler class Details.java is in package beginnersbook.com so we have given the value as beginnersbook.com.Details.

message.tld
<taglib>
 <tlib-version>1.0</tlib-version>
 <jsp-version>2.0</jsp-version>
 <short-name>My Custom Tag</short-name>
 <tag>
 <name>MyMsg</name>
 <tag-class>beginnersbook.com.Details</tag-class>
 <body-content>empty</body-content>
 </tag>
</taglib>

Using custom tag in JSP:

Above we have created a custom tag named MyMsg. Here we will be using it.
Note: taglib directive should have the TLD file path in uri field. Above we have created the message.tld file so we have given the path of that file.
Choose any prefix and specify it in taglib directive’s prefix field. Here we have specified it as myprefix.
Custom tag is called like this: <prefix:tagName/>. Our prefix is myprefix and tag name is MyMsg so we have called it as <myprefix:MyMsg/> in the below JSP page.

<%@ taglib prefix="myprefix" uri="WEB-INF/message.tld"%>
<html>
 <head>
    <title>Custom Tags in JSP Example</title>
 </head>
 <body>
    <myprefix:MyMsg/>
 </body>
</html>

Output:

This is my own custom tag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值