问题标签 [cfimport]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
258 浏览

jar - 如何在 cfImport 中引用自定义标签路径?

我正在尝试将 CFgroovy 添加到我的一个 Web 应用程序中。我将 jar(我将其重命名为 cfgroovy.jar)添加到我认为是我们的自定义标签目录中:

我们的系统管理员向我展示了该路径当前位于管理控制台的“扩展 > 自定义标记路径”中。现在我想使用它。所以我会使用cfimport标签,但我不知道taglib属性中有什么:

我确定这很简单,我只是不知道,而且我找不到任何明确的文档。

0 投票
1 回答
227 浏览

cfml - 使用基于 CFC 的自定义标签将子标签数据与祖父标签相关联

这个问题的完整重现案例在我的GitHub 存储库中。我只会在这里重现必要的部分。

假设我有一些自定义标签的用法:

如果我使用基于 CFM 的自定义标签,并且我想将标签实现中的数据与child标签相关联grandparent,我会简单地这样做:

注意我可以直接关联到祖父母标签。

我无法弄清楚如何使用 Lucee 的基于 CFC 的自定义标签干净地做到这一点。

这是我能想到的最好的:

在 Parent.cfc 我有这个:

thisParent 和 Grandparent 范围的累积(错误)使用意味着从 Child 我可以通过this.parent.parent.

然而,这一切都有点“希思·罗宾逊”。鉴于 Lucee 的基于 CFC 的自定义标签实现的其余部分非常巧妙,我确信我只是遗漏了一些东西。我真的不认为我应该通过父母挖洞才能到达祖父母。这也意味着对于孩子直接在祖父母中的情况,代码需要有所不同。我真正需要的是在 CFC 之间传递一些标签层次结构,而不仅仅是父级。

我用谷歌搜索过,但大部分内容都是我写的(这又基于最初为 Railo 的实现而写的博客文章——这是 Lucee 实现的基础)。

我已经阅读过的文档没有帮助:

0 投票
1 回答
181 浏览

json - 在 ColdFusion 中的另一个 cfc 的上下文中执行一个函数,同时遵守导入语句

背景

我正在尝试创建一个componentFromJson可以从 JSON 重构组件图的函数。我采用了一种简单的方法getMetaData来查找组件属性以实例化正确的类型。

该函数将像这样使用:comp = componentFromJson(json, 'RootComponentType')

问题

问题是属性的类型不一定是完全限定的,因为可能已经导入了命名空间,如下所示。

当我试图createObject('Test')componentFromJson函数上下文中执行时,它显然失败了,因为调用上下文没有导入。

我尝试了很多不同的方法来解决这个问题,包括在父组件上临时动态定义组件工厂函数,以及invoke在父CFC的上下文中使用调用工厂函数,但它不起作用。

例如

可怕的解决方案

我现在能想到的解决这个问题的唯一方法是解析 CFC 的 ColdFusion 代码并提取导入语句,但我预计这对于目的来说太慢了。不仅如此,而且这不会涵盖所有边缘情况。

想法?

我想知道是否有人有更好的想法来解决这个问题?我可以采取完全不同的方法吗?可能有一种方法可以使用 ColdFusion 运行时类来做到这一点,但我还没有弄清楚。