转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 电脑应用 >> 电脑技术 >> 正文
常见问题之CF的语言 - CFML         ★★★

常见问题之CF的语言 - CFML

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1424 更新时间:2003/9/17

1: 到底什么时候该用#符号把变量和表达式围起来? 
  在CFML中,#是用来把ColdFusion变量或表达式从字符串中区分开的符号。可以把<CFOUTPUT> 和 </CFOUTPUT>当中的内容当成一个字符串,其中的变量或表达式必须用#围起来,ColdFusion在处理是就会对其做相应的处理。但是,在标签里,所有的数据都被当作变量或表达式而不是字符串,因此不需要#(如:<CFSET x=y+1>)。所以只有在ColdFusion把数据当成字符串时才要用#把变量或表达式区分开。
 
2: 在HTML中用#表示颜色时(如<CFOUTPUT><hr color="#FF0000">...</CFOUTPUT>),ColdFusion会出错,如何解决? 
  #在ColdFusion有其特殊的意义,是用来把变量和表达式从字符串中区分开的。而且必须配对使用,(如<CFOUTPUT>#now()#</CFOUTPUT>)如果ColdFusion发现只有一个#的话就报错,解决的方法时用两个#来转义,如:<CFOUTPUT><hr color="##FF0000">...</CFOUTPUT>这样就没问题了。
 
3: 为什么有时候在输出的HTML页面里我得到的是#var#而不是实际的变量? 
  大多数情况下是因为你忘了用<CFOUTPUT> 和 </CFOUTPUT>标签。
 
4: Verity是用来干什么的? 
  Verity是一个全文搜索引擎。用来实现灵活快速的对特定文字进行搜索。ColdFusion中的Verity有两种使用方法:1)使用Verity对硬盘上的文件按指定内容进行搜索(包括文本文件,MS Word文档等),2)Verity也可以对数据库中的记录进行搜索(特别是对文字内容校多的字段)。
要使用Verity,请参考ColdFusion中的<CFSEARCH>标签。
 
5: CFML条件判断标签可以嵌套使用吗? 
  CFML的条件判断和流程控制标签(如<CFIF>,<CFLOOP>)可以被嵌套使用,但过多的嵌套会影响执行速度,所以尽量避免不必要的嵌套.
 
6: 在ColdFusion中使用队列(lists)时,为什么空的元素会被忽略? 
  ColdFusion队列和CSV的有些区别,ColdFusion会忽略空的队列元素,如:ListLen("a,b,,d,e")会返回4而不是5,执行ListGetAt("a,b,,d,e",5)就会报错。在这种情况下,可以先用Replace()函数把所有的",,"(逗号 逗号)替换为", ,"(逗号 空格 逗号)。空格是一个能被ColdFusion识别的队列元素。
 
7: 什么时候要在<CFQUERY>内的SQL语句中用到引号? 
  所有写在<CFQUERY>和</CFQUERY>中的内容都会被传送到数据库进行处理,和CFML不一样,SQL不会对变量自动转型,在写SQL语句时必须严格遵守SQL语句的规范。所有字符串(包括被用作字符串的变量)都必须用单引号围起来,而数值不能用引号围起来,所用到的日期和时间也都必须符合相应的格式。
 
8: 我该应用 <CFINSERT> 和 <CFUPDATE> 标签吗? 
  当然可以,而且条件许可的话,没有理由不去用。不过,要注意的是使用这些标签有很大的限制。它们只能和FORM表单用在一起,且表单中的元素必须和数据库中的字段使用相同的名称,另外也无法象标准SQL中那样的功能强大,当用<CFUPDATE>时,还必须在表单中指明关键字段。
 
9: 我的邮件服务器在发送邮件时需要认证,在用ColdFusion发邮件时我如何能发送认证信息? 
  从ColdFusion MX 6.1开始,ColdFusion支持SMTP的认证。你可以在<CFMAIL>标签中提供相应的认证信息,或在ColdFusion管理界面中用以下的格式提供认证信息:user:password@hostname
 
10: 能不能在同一邮件中生成普通文本和HTML超文本两种不同的信息? 
  从ColdFusion MX 6.1开始用新的 <CFMAILPART>标签即可。请参考下面的代码。
<CFMAIL TO="..." FROM="..." SUBJECT="...">
   <CFMAILPART TYPE="text">
  普通文本信息。。。   </CFMAILPART>
   <CFMAILPART TYPE="html">
   <B>超文本信息。。。</B>
   </CFMAILPART>
</CFMAIL>


11: 我想发送邮件给一邮件组用户,我如何才能跟踪邮件的发送结果?如失败或者被拒绝。 
  <CFMAIL>中有一个FAILTO属性,可以用来指定一个邮件地址,在遇到邮件发送失败的情况时,ColdFusion会向此邮件地址发送一个失败通知。

<CFMAIL TO="#email#"
        FROM="admin@myhost.com"
        FAILTO="listadmin@myhost.com" ...>
...
</CFMAIL>
 
12: 怎么才能得到一个文件的大小,最后修改的日期和时间? 
  <CFDIRECTORY>可以用来访问ColdFusion所在服务器上的文件目录, 其中的ACTION="list" 参数可以帮你获得这些信息。
 
 
13: ColdFusion可以访问客户机上的文件吗? 
  不可以,ColdFusions是运行在服务器端的,不能在客户机端做任何操作。ColdFusion只能通过客户端的浏览器获得一些客户机信息。所以ColdFusion不能访问处理客户机端的任何文件,除非在上传到服务器端以后。
  
14: 如何把客户端的文件传递给ColdFusion? 
  最安全的方法是通过客户的浏览器使用HTTP文件上传功能。ColdFusion的确可以通过HTTP或FTP访问网络资源,但这要求被访问的一端有相应的HTTP或FTP服务器。这在一般的客户端都是没有的。
  
15: 如何写一段能用来让客户上传文件的表单代码? 
  创建一个表单,指定表单的ENCTYPE属性为"multiform/form-data",添加一个表单元素,类型为“文件”(TYPE="file")。这段代码在客户端显示的时候,客户会看到相应的操作界面来选择要上传的文件,当这个表单被递交的时候,文件就会被上传到服务器端。
<FORM ACTION="process.cfm"
      ENCTYPE="multipart/form-data"
      METHOD="post">
File: <INPUT TYPE="file" NAME="FileToUpload">
<BR>
<INPUT TYPE="submit" VALUE="Upload">
 
 
16: 如何访问并处理上传的文件? 
  通过客户端表单上传的文件可以由<CFFILE ACTION="upload"> 标签来访问处理。通过此标签,可以对上传的文件进行处理,如保存,改名,限制上传文件类型等。
 
17: REQUEST有效的有效范围是什么? 
  和Variables一样,Request只能在一个页面处理请求中有效(同Application或Session对比)。但它们的区别在于,Request同时还能被同一页面处理过程中所用到的其它文件所访问,如Custom Tags。
  
18: 如何在用户关闭浏览器后马上结束session变量 
  在ColdFusion MX中,通过改变ColdFusion管理员界面中的一个设置,就能轻易实现:进入Memory Variabes菜单,选中Use J2EE session variables选项。
在MX以前的版本中,ColdFusion Session变量使用cookies(CFID和CFTOKEN)来定位每一个用户。缺省的情况下,这些Cookies留在客户端的硬盘上,即使用户关闭浏览器。要避免这种情况,这需要重写这些Cookies让它们在浏览器关闭之后过期就可以了。请参考下面的代码。

<CFCOOKIE NAME="cfid" VALUE="#SESSION.cfid#">
<CFCOOKIE NAME="cftoken" VALUE="#SESSION.cftoken#">
 
 
19: 什么时候需要用到<CFLOCK> 
  <CFLOCK>是用来控制对一段代码或变量的并发存取的。在早期的ColdFusion版本中,如果不对并发的存取进行控制的话,可能会导致服务器的不稳定。在ColdFusion MX中,这一问题已经得到解决,但还是有理由要使用<CFLOCK>的。首先,有些情况下必须使用<CFLOCK>,如多用户情况下对系统文件的存取。其次,就算对一段代码或变量的并发存取不会导致系统的不稳定,有时也会给你的程序带来一些影响,导致一些奇怪的程序结果。如当对一个application变量进行修改而不把此变量锁定话,用户访问到的可能是一部分新的数据,一部分老的数据。那样程序运行结果可能就不是你预想的那样了。所以当出现类似问题时,还是要用的<CFLOCK>。
 
20: EXCLUSIVE 和 READONLY两种锁定有什么区别? 
  <CFLOCK>支持两种类型的锁定,EXCLUSIVE 和 READONLY。EXCLUSIVE锁定完全防止其它代码的的访问。READONLY锁定并不是一种真正的锁定,只是给一端代码加上一个标记,表示只有当前没有被EXCLUSIVE锁定的时候才能执行。
 
21: 如何才能实现动态变量名呢? 
  窍门是先用""把变量名围起来,然后把要作为动态变量名的部分用##围起来。可以看看下面的例子。
<!--- 设置变量 i 值为 1 --->
<CFSET i=1>
<!--- 创建一个动态的变量名product1--->
<CFSET "product#i#"="apple">
<!--- 显示product1的值--->
<CFOUTPUT>#product1#</CFOUTPUT> 
22: 如何得到一个拥有动态变量名的变量的值? 
 可以用Evaluate() 函数动态的构造变量名,请看下面的例子。
<!--- Set i --->
<CFSET i=1>
<!--- Display product1 variable --->
<CFOUTPUT>#Evaluate("product#i#")#</CFOUTPUT>

23: 在获得一个Query查询结果之后,如何得到它的字段列表? 
  每个Query查询结果都带有一个叫columnlist的变量,可以用来获得Query的字段列表.如 :queryname.columnlist
 
24: 如何获得接收到的Form或URL变量的列表? 
  在ColdFusion中,接收到的Form或URL变量都是以ColdFusion structures 变量的结构存在的,可以用ColdFusion提供的structures的一些函数来访问处理它们。当然也可以用<CFLOOP>来循环其中的每一个元素。
 
25: 如何直接的访问query数据中的某一个数据? 
  在ColdFusion中,query其实就是sturcture,每条记录就是一个数组。要直接的访问query中的某一条记录中的某一个数据,可以用这种方式:#query.column[row]#。如:想要得到query “products”中的“price”字段的第五条记录,可以用这种表达是式:#products.price[5]#。 这种方法在一些情况下非常有用,如用<CFLOOP>循环处理一个query。
 
26: 如何才能用ColdFusion生成可打印的PDF文档? 
  ColdFusion目前还不能直接生成PDF文档。但有一些第三方的产品可以用来实现这些功能。如ActivePDF(http://www.activepdf.com/ )


[VB.NET程序]几个 WMI 的例子(初级) - 1  [VB.NET程序]几个 WMI 的例子(初级) - 2
[VB.NET程序]几个 WMI 的例子(初级) - 3  [VB.NET程序]几个 WMI 的例子(初级) - 4
[Delphi程序][Tips]挂起 - 运行外部程式,外部程式退出 - 继续…  [Delphi程序]升级到Delphi 6 - 兼容性问题(中文全文)
[Delphi程序]升级到Delphi 6 - 兼容性问题之三(完)  [Delphi程序]升级到Delphi 6 - 兼容性问题之二
[Delphi程序]升级到Delphi 6 - 兼容性问题之一  [Delphi程序]2001 年軟體界的巨星 - Kylix:李维.
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 电脑技术  · 操作系统
    · 磁盘工具  · 视音频技术
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台