我正在开发一个基于 Railo4 构建的应用程序,并且遇到了一个有趣的问题。就 ColdFusion 代码而言,我在这里没有做任何新的事情。只需获取一些字符串,在需要的地方连接,然后返回一个字符串。
<cffunction name="customBuildURL" access="public" returntype="string">
<cfargument name="subsystem" type="string" required="true" />
<cfargument name="section" type="string" required="true" />
<cfargument name="item" type="string" required="true" />
<cfargument name="args" type="string" required="true" />
<cfset var url = "index.cfm?action=" & ARGUMENTS.subsystem & ":" & ARGUMENTS.section />
<cfif Ucase(ARGUMENTS.item) NEQ "DEFAULT" >
<cfset url &= "." & ARGUMENTS.item />
</cfif>
<cfif ARGUMENTS.args NEQ "" >
<cfset url &= ARGUMENTS.args />
</cfif>
<cfreturn url />
</cffunction>
但是,我遇到了两个不寻常的错误。
1)第一个是:Can't cast Complex Object Type Struct to String
并且正在报告以下两行:
<cfset url &= "." & ARGUMENTS.item />
<cfset url &= ARGUMENTS.args />
2)第二个是the function customBuildURL has an invalid return value , can't cast Object type [url] to a value of type [string]
在url
变量返回时。
如您所见,我在这里没有做任何详细说明。只需设置一些字符串,连接它们然后返回它。我看不到在哪里创建了“对象”并将其转换为字符串。我仔细检查了&=
运算符的使用,这似乎不是问题,因为如果我这样做url = url & "." & ARGUMENTS.item
,则会报告相同的错误。
有任何想法吗?