coldfusion - 如何在 CreateObject 参数中添加带点的路径

标签 coldfusion coldfusion-11

我正在尝试从我的组件导入路径,但是一个文件夹有多个点,例如 board.event.calendar。由于这是此代码库中的常规结构,我无法更改文件夹名称。我尝试了多种方法来在 CreatObject 参数中实现正确的路径,例如:

<cfset Event = CreateObject("Component", "path.to.'board.event.calendar'.Event") />
<cfset Event = CreateObject("Component", "path/to/'board.event.calendar'/Event") />
<cfset Event = CreateObject("Component", "path\to\'board.event.calendar'\Event") />
<cfset Event = CreateObject("Component", "path.to.board#chr(046)#event#chr(046)#calendar.Event") />

但到目前为止还没有运气。我该如何管理?

最佳答案

CreateObject() 使用句点字符作为路径中的分隔符,并且不会接受无效字符,例如单引号(如上例所示)。

执行此操作的一种方法是创建一个映射,然后在您的路径中使用它。例如,如果您的应用程序的路径是 C:\dev\myapp\,而您的日历 CFC 的路径在 C:\dev\myapp\calendar\ ,然后您可以在 application.cfc 文件中创建映射,如下所示:

this.mappings = {
    "/app": "C:/dev/myapp/",
    "/calendar: "C:/dev/myapp/calendar/"
}

(您也可以在 CF Administrator 中创建映射)

然后在创建组件时,您可以使用:

myComponent = createObject("app.calendar.event").init();

myComponent = createObject("calendar.event").init();

关于coldfusion - 如何在 CreateObject 参数中添加带点的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51712510/

相关文章:

java - 如何使用 JSOUP 或 Coldfusion 从 URL 中删除查询字符串和哈希值?

Coldfusion:api 调用数组和结构上的嵌套循环

oracle - 我的 CFQUERY 结果结构中缺少 GENERATEDKEY 值

rest - Coldfusion 11 REST API 服务似乎意外停止工作

mysql - 如何将对象(从 MySQL 临时表)返回到 Coldfusion 存储过程中?

performance - 质数性能差异 ACF vs. Lucee

java - 替换显示为编码的特殊字符

css - 我的 css 字符串跳了一行

java - CF "for"循环占用内存/cpu

datetime - ColdFusion:如何解析 dd/mm/yyyy 格式的日期?