Because ColdFusion variables are case-independent and Java variables are case-dependent, you must 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 will 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.