In order to create an use a custome tag,we need to follow couple of steps:
Create a tag file,defining the attributes used by it and any variables which will be used by the tag
a. The attributes need to have a name,their type and and required field with a boolean value
b. The variables will be defined with a name along with a certain scope-
NESTED(Available in tag body),
AT_BEGIN(Within tag till end of scope) and
AT_END(From end of tag till end of scope)
<%@ attribute name="name" required="true" type="java.lang.String" description="Name of User" %>
<%@ attribute name="role" required="true" type="java.lang.String" description="Role of User" %>
<%@ variable name-given="passBack" scope="AT_BEGIN"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<h1>${name}</h1>
<h2>${role}</h2>
<%String backToCaller="Back to caller";%>
<c:set var="passBack" value="Pass back successful"/>
Define the entry to import tag,where tagdir will be directory containing tag file with .tag extension
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
Finally use the tag,passing the required attributes,as per tag definition.
Here customTag
is the name of the tag file,along with prefix as defined
<tags:customTag name="Hello Tag!!" role="I am the boss here"/>
The variable set from tag can be retrieved in the caller jsp using expression language
Hello ${passBack}