We recently went with an upgrade from Version: 7,0,0,91690 to
Version: 8,0,0,176276 on our dev box!
ColdFusion 8 release notes says that if we get this error in
the CodeAnalyzer, we can ignore it. However, we are getting this
error even while running the application live.
ColdFusion Code dynamically builds the attributes necessary
for the CFX called CFX_SayHello, using a structure and finally
calls the custam tag using the following code:
<cfx_SayHello attributeCollection="#atts#" />
We get the below error. Can I get some help from anybody who
has any idea of what might be causing this or a workaround?
The error reads as follows:
The attributeCollection attribute cannot be used in combination
with other attributes in the cfx tag.
The above tag call works if all attributes are sent
separately in the below fashion.
<cfx_SayHello att1="abc" att2="bcd" />
However, we need to use dynamic attributes for accomplishing
our business requirements. Also, it is a good methodology as the
attributes vary in each scenario when the tag is called. All our
apps work fine except this. If we are not able to fix this, we are
planning to rollback our upgrade back to CF 7.
Any workaround for this? I tried looping over the attribute
collection structure and generating a string that contains the tag
call with all attributes listed separately; thereby, using
evaluate() function to evaluate the string with tag call
dynamically. However, this is failing. Is there any other way or is
Adobe working on a fix for CF 8? I can provide any other details if
needed.
The stack trace contains the follows:
coldfusion.compiler.validation.ArgumentsAttributeException:
The attributeCollection attribute cannot be used in combination
with other attributes in the cfx tag.
at
coldfusion.compiler.TagNode.validateArgsAttr(TagNode.java:423)
at
coldfusion.compiler.SemanticAnalyzer.cftag(SemanticAnalyzer.java:476)
at
coldfusion.compiler.SemanticAnalyzer.transform(SemanticAnalyzer.java:104)
at
coldfusion.compiler.Treewalker.postorder(Treewalker.java:86)..
(truncated)
Thanks,
Arun