coldfusion - Railo application.cfc this.mappings 不起作用

标签 coldfusion components railo mappings application.cfc

我正在使用最新版本的railo,并且正在尝试让每个应用程序映射正常工作。这就是我正在做的事情:

<cfcomponent name="MyApp">
    <cfset THIS.Name = "MyApp">
    <cfset THIS.Mappings["/myapp"] = ExpandPath(".")>
</cfcomponent>

所以,我试图能够通过 myapp.* 映射访问此应用程序文件夹中的组件,而不必访问 rootapp.myapp.* (根据我的理解,此组件设置应该可以工作。

但是,我的组件无法通过此映射访问,并且当我对代码中的应用程序变量执行 cfdump 时,它将显示“applicationname”设置为“MyApp”,但没有显示任何映射。

railo 不支持这些映射,还是我做错了什么?

编辑:

这就是我收到的确切错误:

invalid component definition, can't find myapp.data.MyObject

应该已经创建了 myapp 映射,并且 MyObject 确实存在。这是我的结构:

/rootfolder/myapp/Application.cfc
/rootfolder/myapp/data/MyObject.cfc
/rootfolder/myapp/pages/MyPage.cfm

简而言之,“MyPage.cfm”依靠映射来轻松访问“MyObject”组件。 Application.cfc 应该被加载,因为 cfml 处理器应该开始向上移动目录,直到找到一个。

最佳答案

你的语法没问题,我刚刚对目录树深处的应用程序做了同样的事情,它工作得很好。

however, my components cannot be accessed by this mapping,

什么是确切的错误? “无效的组件定义,找不到 myapp.xyz”?

你的cfm和cfc在同一个目录下吗? (这基本上就是您想要做的)

and when i do a cfdump on the application variable in my code, it will show that the "applicationname" is set to "MyApp", but nothing shows for the mappings.

通过转储应用程序范围,您将看不到此信息。唯一的选择是像往常一样使用 Application.cfc。

<cfset app = CreateObject("component",  "application") />
<cfdump var="#app#">

编辑。这里有两个解决方案。

像这样定义映射,因此将为Application.cfc计算路径:

<cfset this.mappings["/myapp2"] = getDirectoryFromPath(getCurrentTemplatePath())>

或者像这样更改组件路径:

<cfset MyObject = CreateObject("component",  "myapp.data.MyObject") />

问题在于 ExpandPathgetCurrentTemplatePath() 返回的路径之间存在差异。

关于coldfusion - Railo application.cfc this.mappings 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6875621/

相关文章:

apache - ColdFusion 11 : "Variable SESSION is undefined" Error

c# - 如何在 C# 2010 的表单中创建自定义组件?

coldfusion - 多CFML引擎测试环境

mysql - cfquery 需要很长时间才能显示输出

javascript - 如何通过 JavaScript 或 jQuery 从 cfinput 获取 onblur 输入 id 或 tabIndex?

tomcat - 部署为 WAR 时如何保留 Railo/app 设置?

reactjs - 如何使用react js更改 Material 表中分页部分的字体大小?

javascript - Angular 如何将数据从子组件传递到父组件

tomcat - 如何使用 Railo 启用 JMX 远程处理或自定义 Java args?

regex - jSoup - 如何获取具有背景样式的元素(内联 CSS)?