В документах указано, что он работает с каталогом, указанным на странице сопоставления администратора ColdFusion. Вы пытались установить сопоставление в администраторе ColdFusion, чтобы убедиться, что это работает в первую очередь? Если это работает, но this.mappings, установленное для приложения в приложении application.cfc, не работает, возможно, это ошибка?!?
EDIT: Я тестировал предложение Адама использовать функцию 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')#">
Выдает ошибку:
This expression must have a constant value.
<cfset CT = expandpath('/CT')/>
<cfimport prefix="tag" taglib="#CT#">
Броски ошибку:
This expression must have a constant value.
Это.mappings должно быть в верхней части Application.cfc, а cfimport должен быть на странице. Я успешно использовал This.mappings с cfinclude, но не cfimport. –