View comments | RSS feed

cfimport

Description

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

Category

Application framework tags

Syntax

<cfimport 
taglib = "taglib-location"
prefix = "custom">

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-IN/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. You must 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.

To 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/

<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>

ColdFusion 9 | ColdFusion 8 | ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX | Forums | Developer Center | KnowledgeBase | Bug Reporting

Version 7

Comments


erkie said on Feb 24, 2005 at 9:18 AM :
If you want to import Flex JSP taglib to use MXML within CFML then follow these installation instuctions (http://www.macromedia.com/support/documentation/en/flex/1_5/flexforcf.html) and import flex taglib with <cfimport taglib="/WEB-INF/lib/flex-bootstrap.jar" prefix="mm" />. Then put MXML code between <mm:mxml>...</mm:mxml> tags.
MikerRoo said on Apr 8, 2005 at 12:12 AM :
Is this tag restricted for the standard edition?

The feature matrix, http://www.macromedia.com/software/coldfusion/productinfo/product_editions/cf_feature_matrix.pdf,
implies that this connectivity should work.

However, all attempts, using the standard edition, yield:
"A License Exception has been thrown
You tried to access a restricted feature for the Standard edition: CFIMPORT"

Is this a bug or a documentation error?
jrunrandy said on Apr 11, 2005 at 6:32 AM :
The ability to use JSP tag libraries is an Enterprise-only feature. I have asked the Product Manager to update the system requirements on macromedia.com.
No screen name said on Jun 23, 2005 at 1:28 AM :
From what I can see the prefix attribute isn't required and default to an empty string both in CF 6.1 and CF 7
No screen name said on Jun 23, 2005 at 1:31 AM :
As for Dreamweaver, you should manually edit TagLibraries.vtm inside your user configuration in order to assign a prefix to a tag. This technote will help you locate the right directory:

http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_16420

Massimo Foti
105 said on Jul 3, 2006 at 10:46 PM :
Should be noted that the taglib location can't be dynamic. There does seem to be any reason why. Makes it difficult to move taglibs around, especially cfm taglibs. Makes it difficult to reuse code that uses taglibs because you can't dynamically define the location.
105 said on Jul 3, 2006 at 10:53 PM :
A taglib can be a path to a tag library descriptor, but there's no explanation or definition of the tag library descriptor. It's a xml file that describes the tags. It includes the name of the tag, the Java class associated with it, description, etc. It's also not clear if it's a Java only thing or if it can be used with cfm tags.

 

RSS feed | Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/coldfusion/7/htmldocs/00000276.htm