
1128
DEVELOPING
COLDFUSION 9 APPLICATIONS
Using Web Elements and External Objects
Las
t
upda
te
d 8/5/2010
The PageContext object exposes several fields and methods that can be useful in J2EE integration. In particular, it
includes the
include
and
forward
methods that provide the equivalent of the corresponding standard JSP tags.
For more information on other features of the PageContext object, see Java documentation. You can find the Javadoc
description of this class at
http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/jsp/PageContext.html
.
About CFML variables and Java variables
Because ColdFusion variables are case-independent and Java variables are case-dependent, be careful about variable
names. Use the following rules and guidelines when sharing data between ColdFusion and Java code, including JSP
pages and servlets.
Rules
•
If you use mixed case variables, all variable names must be unique, independent of case. For example, you must not
have two Java variables, MyVariable and MYVARIABLE. ColdFusion cannot distinguish between the two.
•
If you share Request scope variables between a CFML page and a JSP page or servlet, all shared Request scope
variable names
must
be all-lowercase in the JSP page or servlet. Mixed case or all-uppercase variables cause null
pointer exceptions if CFML refers to these variables.
•
If you share Application or Session scope variables between a CFML page and a JSP page or servlet and use a named
ColdFusion application (the common usage), the variables on the JSP page or servlet are case-independent.
•
If you share the Application or Session scope variables between a CFML page and a JSP page or servlet, and use an
unnamed
ColdFusion application, the variable names in the JSP page or servlet
must
be all lowercase.
•
When you specify a class name in the
cfobject
tag or
CreateObject
function, the name must be case-correct.
Guidelines
•
You can prevent problems by consistently using all-lowercase variable names.
•
In your CFML, use the same case as you do in your Java or JSP. Doing so does not change how the application
works, but does help prevent confusion.
Using JSP tags and tag libraries
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.