You can use JSP tags from any JSP tag library. For example, you can use any of the custom tags in the open-source Apache Jakarta Project Taglibs project tag libraries, located at http://jakarta.apache.org/taglibs/index.html. This project consists of several individual JSP custom tag libraries for purposes ranging from JNDI access to generating random text strings.
Using a JSP tag in a ColdFusion page
JSP pages use a standard set of tags, such as jsp:forward and jsp:include. You can also import custom JSP tag libraries into a JSP application. You can use both the standard JSP tags and custom JSP tags in ColdFusion pages.
Standard JSP tags and ColdFusion
ColdFusion tags provide equivalent features to most standard JSP tags. For example, the cfapplet tag provides the same service as the jsp:plugin tag, and cfobject tag lets you use JavaBeans, as does the jsp:usebean tag. Similarly, you do not use the jsp:getproperty tag because ColdFusion automatically gets properties when you reference them. Therefore, ColdFusion does not support the use of standard JSP tags directly.However, two standard JSP tags provide functionality that is useful in ColdFusion pages: the forward and include tags invoke JSP pages and Java servlets. The PageContext object described in About GetPageContext and the PageContext object section has forward and include methods that provide the same operations. For more information about using these methods, see Accessing a JSP page or servlet from a ColdFusion page in Interoperating with JSP pages and servlets.
Using custom JSP tags in a ColdFusion page
Follow these steps to use a custom JSP tag on a ColdFusion page:
Use a custom tag
- Place the tag library, consisting of the taglibname.jar file, and the taglibname.tld file, if one is supplied, in the web_root/WEB-INF/lib directory. The JSP custom tag library must be in this directory for you to use the cfimport tag.
- Restart ColdFusion.
In the ColdFusion page that uses a JSP tag from the tag library, specify the tag library name in a cfimporttag; for example:
<cfimport taglib="/WEB-INF/lib/random.jar" prefix="random">
If the TLD file is not included in the JAR file, use the .tld extension in place of the .jar extension.
Note: The cfimport tag must be on the page that uses the imported tag. You cannot place the cfimport_ tag in Application.cfm._
Use the custom tag using the form prefix:tagName; for example:
<random:number id="myNum" range="000000-999999" />
Note: You cannot use the cfsavecontent tag to suppress output of a custom JSP tag.
Example: using the random tag library
The following example uses the random tag library from the Apache Jakarta Taglibs project and calls the number tag. The number tag initializes a random number generator that uses a secure algorithm to generate a six-digit random number. You get a new random number each time you reference the variable randPass.random.
<cfimport taglib="/WEB-INF/lib/taglibs-random.jar" prefix="myrand">
For more information on the Jakarta random tag library and how to use its tags, see the documentation at the Apache Jakarta Taglibs project website, http://jakarta.apache.org/taglibs/index.html. The Taglibs project includes many open source custom tag libraries.