Coldfusion映射错误

时间:2011-09-19 23:38:53

标签: coldfusion coldfusion-9

  

注意:如果您希望使用绝对模板路径(例如,   template =“/ mypath / index.cfm”)使用CFINCLUDE,你必须创建一个   使用ColdFusion Administrator映射路径。

我去了管理页面,但不知道该放什么。 我对coldfusion很新。任何人都知道为什么会发生这种情况。

2 个答案:

答案 0 :(得分:2)

CFINCLUDE使用相对于cfinclude所在文件的相对路径,因此如果要将文件包含在另一个目录中,1。它必须位于您站点的wwwroot(或根目录或子目录)中,你可以去做其他目录......希望这有点帮助。如果你想要包含一个wwwroot之外的文件,那么当你包含它时,你需要使用上面相同的语法在Coldfusion Administrator中映射该目录。

答案 1 :(得分:0)

要添加映射,请打开coldfusion管理员。

服务器设置>映射

有两条路径。逻辑和目录。

逻辑可以是您想要的任何内容,目录是它映射到的位置。 例如。您可能在Web根目录下有一个文件夹,用于存储映射为:

的电子邮件模板
logical path: /emails
directory path: /var/www/mycfapp/content/includes/emails

您可以从任何cf模板中<cfinclude template="/emails/forgotPass">,并且可以获取映射。

您也可以使用映射来创建新对象。让我们假装忘了睡觉是一个cfc。

fp = new emails.forgotPass();

// if you have funky characters in there, eg dash, just quote it.
fp = new "emails.forgot-pass"();

在扩展cfcs时,映射也有效。有一个小例外。没有领先的斜线。

component extends="emails/forgotPass" {
    // ...
}

我很确定首先会检测到映射,所以如果你有一个同名的文件夹,它可能无法被拾取。

在cf9中,您还可以在Application.cfc中指定映射,而不是coldfusion管理员,它会影响服务器上的所有应用程序。例如

this.mappings["/emails"] = "/var/www/mycfapp/content/includes/emails";

您需要在cfadmin设置页面上勾选启用每个应用程序设置选项。

http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec0b63c-7fd5.html