【发布时间】:2013-07-20 03:02:16
【问题描述】:
我正在开发基于 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,则会报告相同的错误。
有什么想法吗?
【问题讨论】:
-
如果使用 url 以外的变量会发生什么?我假设它仍在拉入 url 结构
-
解决了!我希望您将其发布为答案,我本可以为此归功于您。我盯着这个看了好几个小时,但没有意识到我犯了一个新手错误。 URL 范围与我的变量冲突!哦!无论如何,将
url变量更改为actionURL,现在一切正常!谢谢马特!有时,当您盯着它看太久时,您只需要一双额外的眼睛。 -
没问题。我将此作为答案发布。
标签: coldfusion coldfusion-10 railo fw1