In the last tutorial we learnt how to create and use custom tags in JSP. In this tutorial we will see how to access the body of custom tag. For e.g. If our custom tag is xyz
then we would learn to access the content between <prefix: xyz>
and </prefix:xyz>
<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
sanjay says
it is very helpful site for beginner’s …..
thank u so much
Christian Fiegehen says
Excellent.
Thank you very much for your clear explanation.
With the right detail to make things work.
Better than many articles that live in limbo without explaining anything.