Adobe ColdFusion 8

cfargument

描述

在组件定义中进行参数定义;定义函数的一个参数;与cffunction标签一起使用。

历史

ColdFusion 8: 在type属性中,可以将已定义的组件的名称作为一种有效的类型。
ColdFusion MX 7: 在type属性中增加"XML"值.
ColdFusion MX: 增加此标签.

类别

可扩展型 标签

语法

<cfargument
 name = "string"
	default = "default value"
	displayname = "descriptive name"
	hint = "extended description"
	required = "yes|no"
	type = "data type">

 

属性

属性

必须/可选

默认

描述

name

必须

 

字符串值;参数的名称;

default

可选

 

如果该参数没有传递过来,用本属性指定一个默认值

displayname

可选

和name属性的值相等

只对CFC中的方法的参数有作用。当用introspection方式查看CFC时,该参数显示为本属性制定的值.

hint

可选

 

只对CFC中的方法的参数有作用。 当用introspection方式查看CFC时,该参数显示为本属性制定的值。hint属性的值跟随在displayname后面。一般用这个属性来描述参数的目的。

 

required

可选

no

注: 无论是如何定义的,涉及到WEB服务时,所有的参数都需要本属性。指定该参数是否执行组件的必要参数,如果你为参数指定了一个默认值,那么就没必要填写这个属性。

  • yes
  • no

type

可选

any

字符串; 一个类型名称; 指定参数的数据类型.

  • any
  • array
  • binary
  • boolean
  • component: 参数必须是一个ColdFusion组件。
  • date
  • guid: 参数必须是UUID或者xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx形式的GUID。x代表一个字符或者一个十六进制数字(0-9,A-F)
  • numeric
  • query
  • string
  • struct
  • uuid: 参数必须是xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx形式的UUID。x代表一个字符或者一个十六进制数字(0-9,A-F)
  • variableName: 按照ColsFusion变量命名规定的字符串。
  • xml: XML 对象 和 XML 字符串
  • 一个组件名称: 如果type属性的值不是上面任意一个。ColdFusion把它当作一个ColdFusion组件。如果在函数执行时,不存在一个预先指定的该名称的CFC,ColdFusion会产生一个错误。

用途

此标签必须在一个cffunction标签内,并且在其中任何其他标签的前面。

当方法执行进行传递的参数,在方法主体内可以用以下几种方式获得参数的值:

  • 用#号包围参数名称: #参数名#
  • 将参数域当作一个数组使用 #arguments[1]# ,将得到第一个参数的值
  • 将参数域当作一个结构使用 #arguments.参数名#

范例

<!--- 本范例定义了一个函数,该函数取得课程编号后,返回课程的描述--->
	    <cffunction name="getDescription"> 
<!---定义参数 --->
<cfargument name="Course_Number" type="numeric" required="true">
<!--- 使用这个参数从数据库中寻找课程描述--->
<cfquery name="Description" datasource="cfdocexamples">
SELECT Descript FROM Courses WHERE Number = '#Course_Number#'
</cfquery>
<cfreturn Description.Descript>
</cffunction>