文档说它适用于管理员 ColdFusion 映射页面中指定的目录。您是否尝试过在 ColdFusion 管理员中设置映射以查看是否首先有效?如果这样可行,但在 application.cfc 中为每个应用程序设置的 this.mappings 不起作用,那么可能是一个错误?!?
编辑:
我测试了亚当使用 expandPath() 函数的建议,但这也不起作用,因为 taglib 属性必须包含一个常量值。它不能包含变量或函数。除非您使用 ColdFusion Administrator 中的映射集,否则它根本不起作用。我使用这个 application.cfc 尝试了以下测试。
<cfcomponent>
<cfset this.name = "TestApp" />
<cfset this.loginStorage = "session" />
<cfset this.sessionManagement = true />
<cfset this.setClientCookies = true />
<cfset this.setDomainCookies = false />
<cfset this.sessionTimeOut = CreateTimeSpan(0,12,0,0) />
<cfset this.applicationTimeOut = CreateTimeSpan(1,0,0,0) />
<cfset this.mappings['/CT'] = "C:\apache\htdocs\myProjects\Project1\CustomTags"/>
</cfcomponent>
这在 ColdFusion 模板中:
<cfimport prefix="tag" taglib="#expandpath('/CT')#">
抛出错误:
这个表达式必须有一个常数值。
<cfset CT = expandpath('/CT')/>
<cfimport prefix="tag" taglib="#CT#">
抛出错误:
这个表达式必须有一个常数值。