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 a number of individual JSP custom tag libraries for purposes ranging from JNDI access to generating random text strings.
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, as the following sections describe.
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." 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".
Follow these steps to use a custom JSP tag on a ColdFusion page:
cfimport
tag; 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 suffix in place of the .jar suffix.
Note: The cfimport
tag must be on the page that uses the imported tag. You cannot put the cfimport
tag in Application.cfm.
<random:number id="myNum" range="000000-999999" />
Note: You cannot use the cfsavecontent
tag to suppress output of a custom JSP tag.
The following example uses the random tag library from the Apache Jakarta Taglibs project and calls the library's number
tag, which 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/random.jar" prefix="myrand">
<myrand:number id="randPass" range="000000-999999" algorithm="SHA1PRNG" provider="SUN" /> <cfset myPassword = randPass.random> <cfoutput> Your password is #myPassword#<br> </cfoutput>
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.