<prefix: xyz> Body of custom tag: This is what we will access in the below example </prefix:xyz>
Example:
In this example or custom tag will append a String to its own body and will display the result.
Tag handler class: Details.java
package beginnersbook.com;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;
public class Details extends SimpleTagSupport {
//StringWriter object
StringWriter sw = new StringWriter();
public void doTag() throws JspException, IOException
{
getJspBody().invoke(sw);
JspWriter out = getJspContext().getOut();
out.println(sw.toString()+"Appended Custom Tag Message");
}
}
TLD file: message.tld
Remember to have this file in WEB-INF folder.
<taglib> <tlib-version>1.0</tlib-version> <jsp-version>2.0</jsp-version> <short-name>My Custom Tag: MyMsg</short-name> <tag> <name>MyMsg</name> <tag-class>beginnersbook.com.Details</tag-class> <body-content>scriptless</body-content> </tag> </taglib>
JSP Page: index.jsp
<%@ taglib prefix="myprefix" uri="WEB-INF/message.tld"%>
<html>
<head>
<title>Accessing Custom Tag Body Example</title>
</head>
<body>
<myprefix:MyMsg>
Test String
</myprefix:MyMsg>
</body>
</html>
Output:
Test String Appended Custom Tag Message