私は 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>
ただし、2 つの異常なエラーが発生します。
1) 1つ目Can't cast Complex Object Type Struct to String
は次の 2 行について報告されています。
<cfset url &= "." & ARGUMENTS.item />
<cfset url &= ARGUMENTS.args />
2) 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
何か案は?