3

私は 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

何か案は?

4

2 に答える 2

3

Urlは ColdFusion の予約語であるため、関数内で変数化しても、url 変数の実際の構造を取得しています。

ColdFusionの予約語の完全なリストは次のとおりです。

于 2013-07-20T03:33:21.020 に答える