আপনি কাস্টম ট্যাগের সাথে বিভিন্ন অ্যাট্রিবিউট ব্যবহার করতে পারেন। একটি অ্যাট্রিবিউট মান গ্রহণ করতে, কাস্টম ট্যাগ ক্লাসে জাভাবিনের সেটার (setter) মেথডের মতো সেটার মেথড ইমপ্লিমেন্ট করতে হবে।
ট্যাগ হ্যান্ডলার ক্লাস: HelloTag.java
package com.tutorialspoint;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;
public class HelloTag extends SimpleTagSupport {
private String message;
public void setMessage(String msg) {
this.message = msg;
}
StringWriter sw = new StringWriter();
public void doTag() throws JspException, IOException {
if (message != null) {
/* অ্যাট্রিবিউট থেকে মেসেজ ব্যবহার */
JspWriter out = getJspContext().getOut();
out.println(message);
} else {
/* বডি থেকে মেসেজ ব্যবহার */
getJspBody().invoke(sw);
getJspContext().getOut().println(sw.toString());
}
}
}
TLD ফাইলে অ্যাট্রিবিউট যোগ করা
অ্যাট্রিবিউটের নাম "message", তাই সেটার মেথড হল setMessage()। TLD ফাইলে <attribute> এলিমেন্ট দিয়ে এটি যোগ করুন:
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>2.0</jsp-version>
<short-name>Example TLD with Body</short-name>
<tag>
<name>Hello</name>
<tag-class>com.tutorialspoint.HelloTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>message</name>
</attribute>
</tag>
</taglib>
JSP-এ ট্যাগ ব্যবহার
<%@ taglib prefix = "ex" uri = "WEB-INF/custom.tld"%>
<html>
<head>
<title>A sample custom tag</title>
</head>
<body>
<ex:Hello message = "This is custom tag" />
</body>
</html>
আউটপুট
This is custom tag