একটি কাস্টম ট্যাগ হলো ইউজার-ডিফাইনড JSP ল্যাঙ্গুয়েজ এলিমেন্ট। একটি কাস্টম ট্যাগ ধারণকারী JSP পেজ সার্ভলেটে অনুবাদ হলে, ট্যাগটি একটি ট্যাগ হ্যান্ডলার অবজেক্টে রূপান্তরিত হয়। ওয়েব কন্টেইনার তারপর JSP পেজের সার্ভলেট এক্সিকিউশন সময় সেই অপারেশনগুলো আহ্বান করে।
JSP ট্যাগ এক্সটেনশন আপনাকে নতুন ট্যাগ তৈরি করতে দেয় जिन्हें আপনি সরাসরি জাভা সার্ভার পেজে ইনসার্ট করতে পারেন। JSP 2.0 স্পেসিফিকেশনটি কাস্টম ট্যাগ লেখার জন্য Simple Tag Handlers পরিচয় করিয়েছে।
কাস্টম ট্যাগ লেখার ধাপসমূহ
- SimpleTagSupport ক্লাস এক্সটেন্ড করুন
- doTag() মেথড ওভাররাইড করুন
- TLD (Tag Library Descriptor) ফাইল তৈরি করুন
- JSP-এ taglib ডিরেক্টিভ দিয়ে ট্যাগ লাইব্রেরি ডিক্লেয়ার করুন
"Hello" ট্যাগ তৈরি
ধরুন আপনি <ex:Hello> নামে একটি কাস্টম ট্যাগ ডিফাইন করতে চান যা বডি ছাড়া ব্যবহার করা হবে:
<ex:Hello />
১. ট্যাগ হ্যান্ডলার ক্লাস: HelloTag.java
package com.tutorialspoint;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;
public class HelloTag extends SimpleTagSupport {
public void doTag() throws JspException, IOException {
JspWriter out = getJspContext().getOut();
out.println("Hello Custom Tag!");
}
}
doTag() মেথডটি বর্তমান JspContext অবজেক্ট getJspContext() দিয়ে নিয়ে JspWriter-এ আউটপুট পাঠায়।
২. কম্পাইল এবং ক্লাসপাথে রাখুন
ক্লাস কম্পাইল করে CLASSPATH-এ থাকা একটি ডিরেক্টরিতে কপি করুন।
৩. TLD ফাইল: custom.tld
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>2.0</jsp-version>
<short-name>Example TLD</short-name>
<tag>
<name>Hello</name>
<tag-class>com.tutorialspoint.HelloTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
ফাইলটি রাখুন: <Tomcat-Installation-Directory>/webapps/ROOT/WEB-INF/custom.tld
৪. JSP-এ ট্যাগ ব্যবহার
<%@ taglib prefix = "ex" uri = "WEB-INF/custom.tld"%>
<html>
<head>
<title>A sample custom tag</title>
</head>
<body>
<ex:Hello/>
</body>
</html>
আউটপুট
Hello Custom Tag!