cfimport

Description

You can use the cfimport tag to import either of the following:

  • All ColdFusion pages in a directory, as a tag custom tag library.

  • A Java Server Page (JSP) tag library. A JSP tag library is a packaged set of tag handlers that conform to the JSP 1.1 tag extension API.

Syntax

<cfimport  
    prefix = "custom" 
    taglib = "tag library location">

See also

cfapplication

History

ColdFusion MX: Added this tag.

Attributes

Attribute

Req/Opt

Default

Description

taglib

Required

Tag library URI. The path must be relative to the web root (and start with /), the current page location, or a directory specified in the Administrator ColdFusion mappings page.

  • A directory in which custom ColdFusion tags are stored. In this case, all the cfm pages in this directory are treated as custom tags in a tag library.

  • A path to a JAR in a web-application, for example, "/WEB-INF/lib/sometags.jar"

  • A path to a tag library descriptor, for example, "/sometags.tld"

Note: You must put JSP custom tag libraries in the /WEB-INF/lib directory. This limitation does not apply to ColdFusion pages.

prefix

Required

Prefix by which to access the imported custom CFML tags JSP tags.

If you import a CFML custom tag directory and specify an empty value, "", for this attribute, you can call the custom tags without using a prefix. Specify and use a prefix for a JSP tag library.

Usage

The following example imports the tags from the directory myCustomTags:

<cfimport  
    prefix="mytags"  
    taglib="myCustomTags">

You can import multiple tag libraries using one prefix. If there are duplicate tags in a library, the first one takes precedence.

JSP tags have fixed attributes; however, if the tag supports runtime attribute expressions, most tag libraries support the use of the syntax #expressions#.

To reference a JSP tag in a CFML page, use the syntax <prefix:tagname>. Set the prefix value in the prefix attribute.

Use JSP custom tags in a ColdFusion page

  1. Put a JSP tag library JAR file (for example, myjsptags.jar) into the ColdFusion server directory wwwroot/WEB-INF/lib. If the tag library has a separate TLD file, put it in the same directory as the JAR file.

  2. At the top of a CFML page, insert code such as the following:

    <cfimport 
        prefix="mytags"  
        taglib="/WEB-INF/lib/myjsptags.jar">

To reference a JSP tag from a JAR file, use the following syntax:

<cfoutput> 
    <mytags:helloTag message="#mymessage#" /> 
<cfoutput>

The cfimport tag must be on the page that uses the imported tags. For example, if you use a cfimport tag on a page that you include with the cfinclude call, you cannot use the imported tags on the page that has the cfinclude tag. Similarly, if you have a cfimport tag on your Application.cfm page, the imported tags are available on the Application.cfm page only, not on the other pages in the application. ColdFusion does not throw an error in these situations, but the imported tags do not run.

You cannot use the cfimport tag to suppress output from a tag library.

For more information, see the Java Server Page 1.1 specification.

Example

<h3>cfimport example</h3> 
<p>This example uses the random JSP tag library that is available from the 
    Jakarta Taglibs project, at http://jakarta.apache.org/taglibs/</p> 
 
<cfimport taglib="/WEB-INF/lib/taglibs-random.jar" prefix="randomnum"> 
 
<randomnum:number id="randPass" range="000000-999999" algorithm="SHA1PRNG" provider="SUN"/> 
<cfset myPassword = randPass.random> 
<cfoutput> 
    Your password is #myPassword#<br> 
</cfoutput>