我想要这样的论点:
<cfargument
name="exclude"
type="list"
required="false"
default="-1"
hint="A list of source IDs that should be excluded"
>
我没有在http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_a-b_6.html的文档中看到它,我真的不相信它们。
有没有人知道这是否可行,还是我必须转换为数组?
目前我收到错误:
传递给renderSelectSource函数的EXCLUDE参数不是类型列表。
并不抱怨“list”不是有效类型,但可能只是一个错误的错误消息。
答案 0 :(得分:12)
这种情况下的类型是“string”。列表只是一个字符串。
你可以转换为数组...但是除非你买了一些我没看到的东西,否则我只看到将参数声明为字符串的问题。
答案 1 :(得分:1)
在这种情况下我通常做的是允许分隔字符串(即列表)或数组。特别是,这可以让您处理数组值包含分隔符(即逗号)的情况。例如:
<cffunction name="myFunction" output="false" access="public" returntype="any" hint="">
<cfargument name="multiValuedArg" type="any" required="true"/>
<cfif isSimpleValue(arguments.multiValuedArg)>
<cfset arguments.multiValuedArg = listToArray(arguments.multiValuedArg)>
<cfelseif NOT isArray(arguments.multiValuedArg)>
<cfthrow type="java.lang.IllegalArgumentException"
message="'multiValuedArg' argument must be an array or comma delimited list">
</cfif>
</cffunction>