The taglib directive declares that your JSP page uses a set of custom tags, identifies the location of the library, and provides a means for identifying the custom tags in your JSP page.
General syntex of JSP Taglib Directives generally look like this:
Syntex:
<%@ taglib uri="xyz" prefix="xyz"%>
Example:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
You can write XML equivalent of the above syntax as follows:
<jsp:directive.taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" />
When you use a custom tag, it is typically of the form <c:tagname>. The prefix is the same as the prefix you specify in the taglib directive, and the tagname is the name of a tag implemented in the tag library
Explanation: As shown above, taglib in JSP has only two attributes, uri and prefix.
uri Attribute: uri attribute in Taglib Directive defines the location of taglib.
prefix Attribute: prefix Attribute in Taglib Directive defines the prefix that can be used in JSP with custom tag as prefix. Prefix can neither be empty string nor it can be any word that is reserved for JAVA.
In the above example I have defined a prefix for using custom JSTL tags. Using taglib directive, I specified the URI location of JSTL Core and prefix “c”.
Taglib in JSP Example:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Taglib in JSP Example</title> </head> <body> <c:set var="test" value="Taglib Directive in JSP Example"></c:set> <c:out value="${test}"></c:out> </body> </html>
As you can see above, I used JSTL Core Tag Library in the above JSP. In the second line taglib directive is specified with uri and prefix attribute. That prefix ( c in this example ) is used in line 10 and 11 with set tag and out tag of JSTL Core Tags.