Using Taglib in JSP. A brief introduction to taglibs and taglibs programing.

Using Taglib in JSP. A brief introduction to taglibs and taglibs programing. JSP TAG LIBRARIES JSP Tag Libraries : JSP?s offer a unique feature of ?Tag Libraries?. Simply put, these are custom defined JSP tags. They are basically meant for

Using Taglib in JSP. A brief introduction to taglibs and taglibs programing.

JSP TAG LIBRARIES

        

JSP?s offer a unique feature of ?Tag Libraries?. Simply put, these are custom defined JSP tags. They are basically meant for componentizing presentation level logic. They are very similar to beans except the fact that Beans are used to separate Business logic.

Every tag is mapped to a particular class file which is executed whenever the tag is encountered in an JSP file. 

The general syntax :

<%@  taglib uri=? - - - - - ? prefix = ? - - - ? %>  

The parent of the tag is the JSP tag within which it is nested, if there isn?t one, its set to null.

There are two things to remember while using TAGLIB?s :

The Class file should be created and it should be deployed in the Servlet folder of the web server. The class file should implement the Tag and BodyTag interfaces.

The mapping of a particular tag to a particular class file should be done in the  taglib.tld file.  

The tag is then ready to be used in the JSP file !!

The taglib file forms the central description for the tag library :

This file is an XML document that defines the tag?s operation.

It maps the tag name on the page  to the implementing class.

It defines inputs to the class.

It references the helper class that provides details of any output variables set by the tag class.

This Tag and Bodytag have some methods, these all methods are callback methods.

Tag methods: doStartTag() 
   
  
doEndTag()

Body Tag   doAfterBody()

Let?s have small example to display Hello World :

1. First we write simple jsp file

   <% @ taglib uri=?/taglib.tld?  prefix=?nt? %>

   <html>

   <body>

   <nt:Helloworld />

   </body>

   </html>

 

2. It will look for file specified in uri attribute,that file will be  

   <?xml version=?1.0? encoding=?ISO-8859-1? ?>

<taglib>

  <tlibversion>1.0</tlibversion> 0

  <jspversion>1.1</jspversion>

  <shortname>nt</shortname>

  <tag> 1

  <name>Hello World</name>

  <tagclass>mytags.HelloWorld</tagclass>

  <body context>empty</body context> 2

  </tag>

</taglib>

 

  3.  Next this will look for Helloworld .class file will be 3

   

Package mytags;

Import javax.servlet.jsp.*;  
Import javax.servlet.jsp.tagtext.*;
  4

Public class Helloworld implements Tag {

  private  PageContext pagecontext; 
 
private Tag parent;

  public   int doStartTag() throws JSPException { 
 
return SKIP_BODY; 
 
}
5

  public int doEndTag () throws JSPException   { 
 
try{  
 
  pageContext.getOut().write(?Hello World?);  
 
   }  catch(java.io.Exception ex)   {  
     throw new JSPException(?IO Exception?);  
    
   }  
 
  return EVAL_PAGE;  
  }

  public void release (){}  

public void setPageContext(pageContext p) { 
 
pageContext=p;  
  }
6

public void setParent(Tag t) { 
 
parent = t;  
  }

public void getParent() {  
   return parent;  
  }  

}

Flow of programme: 7

  Here in first .jsp file we are writing tag.But name and properties of this tag we are writing in .tld file. And whatever task that tag is going to perform is written in .class file which has been called by .tld file.

  So by using taglib we can create our own defined tags.  

Author: Hrishikesh Deshpande