In this section , we will discuss about how to create "custom" tags & use it in JSP programs.
In this section , we will discuss about how to create "custom" tags & use it in JSP programs.In this section , we will discuss about how to create "custom" tags & use it in JSP programs.
JSP Custom Tags :Provide a mechanism to a Web programmer to reuse and encapsulate complex recurring code in a JSP application.
Provide simplicity and reusability of Java code.
Enable you to perform various functions, such as:
Accessing all implicit variables of a JSP page, such as request, response, in, and out.
Modifying the response generated by a calling JSP page.
The various types of custom tags that you can develop in JSP are :
<td:welcome />
<td: welcome color=?blue?></td:welcome>
Tags with a body: Refer to the custom tag within which you can define nested custom tags, scripting elements, actions, HTML text, and JSP directives. The following code snippet shows a custom tag that contains a JSP scripting element as its body:
<td: welcome>
<%=today_date%>
</td:welcome>
Nested tags: Refer to the set of custom tags in which one custom tag encloses one or more custom tags. The following code snippet shows a nested custom tag:
<td1:ifTag condition ?<%=eval>? >
<td2:valueTrue>
The expression evaluates to true
</td2:valueTrue>
</td1:ifTag>/font>
Development of Custom Tag :
TTo develop a custom tag, you need to perform following steps:
Develop a tag handler or class file(.java)
Develop the Tag Library Descriptor (TLD) file
Include the Tag Library in a JSP page
EXAMPLE : In this Example, we are developing a /p>
Tag Handler File :
& Build a class that implements the
javax.servlet.jsp.tagext
tag interface as follows. Compile it and place it
under the web-inf/classes directory (in the appropriate package structure).
/* Imports the package needed to implement the custom tag *//font> package copyright; iimport javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; /* Extending the TagSupport interface */ public class CopyrightTag extends TagSupport { /* Invokes when the start tag of the custom tag is encountered */ public int doStartTag() throws JspException { try { /* Creating an instance of the JSPWriter for displaying the output */ JspWriter out=pageContext.getOut(); out.println("<BR><B>Copyright RoseIndia Technologies<B>"); } catch (Exception ioException) { System.err.println("IO Exception"); System.err.println("ioException.toString()"); } /* Returning the SKIP_BODY, as the body content is not be evaluated */ return SKIP_BODY; } /* Invokes when the end tag of the custom tag is encountered */ public int doEndTag() throws JspException {/font> /* Skip the processing of the rest of the page */ return SKIP_PAGE; } } |
Tag Library Descriptor (TLD) file : NNow we need to describe the tag, so create a file called CopyrightTag.tld and place it under the web-inf directory.
<taglib> |
JSP File :
<html> <head> <title>New Tech Books </title> </head> <body> <center> <h1> <font color="blue">Roseindia Technologies </font></h1></center> <font color="red"><center><h2> Welcome to our Website</h2></center> <%@ taglib uri="/CopyrightTag.tld" prefix="chrt" %> <center><chrt:CopyrightTag /></center> </font>/font> </body> </html> |
Deployment of application (OUTPUT) :