Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List cfargument是否可以是“类型”;列表“;?_List_Coldfusion_Arguments_Coldfusion 8 - Fatal编程技术网

List cfargument是否可以是“类型”;列表“;?

List cfargument是否可以是“类型”;列表“;?,list,coldfusion,arguments,coldfusion-8,List,Coldfusion,Arguments,Coldfusion 8,我想有一个这样的论点: <cfargument name="exclude" type="list" required="false" default="-1" hint="A list of source IDs that should be excluded" > 我在医院的文件里看不到,我真的不信任他们 是否有人知道这是可能的,或者我必须转换为数组 此时我发现一个错误: 传递给renderSelectSource函数的EXCLUDE参数不是l

我想有一个这样的论点:

<cfargument 
  name="exclude" 
  type="list" 
  required="false" 
  default="-1" 
  hint="A list of source IDs that should be excluded"
>

我在医院的文件里看不到,我真的不信任他们

是否有人知道这是可能的,或者我必须转换为数组

此时我发现一个错误:

传递给renderSelectSource函数的EXCLUDE参数不是list类型


它并不是在抱怨“list”不是一个有效的类型,但它可能只是一个错误消息。

本例中的类型是“string”。列表只是一个字符串


您可以执行到数组的转换。。。但是,除非它给您买了我看不到的东西,否则我不认为将参数声明为字符串有什么问题。

在这种情况下,我通常做的是允许使用分隔字符串(即列表)或数组。特别是,这允许您处理数组值包含分隔符(即逗号)的情况。例如:

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


正如charlie所说,正确的类型可能是
string
。Re:错误,因为
list
不是基本类型(字符串、布尔值、数字等)之一,CF将假定它是组件名称。您可能没有
/List.cfc
,因此出现错误。type=“java.lang.IllegalArgumentException”?使用它有什么好处?它真的扔了那个obj吗?还是仅仅一根绳子?@Henry:优势在于语义。在指定
类型
属性时,我尝试使用与意图一致的现有Java异常。因此,如果您查看它的javadoc:您可以看到它是如何排列的。我还没有测试它是否真的生成了这种类型的Java异常对象,但是
将正确捕获ColdFusion或Java生成的异常。