【问题标题】:Nulls enabled in cf2018 though Enable Null Support is turned off在 cf2018 中启用 Null,但启用 Null 支持已关闭
【发布时间】:2019-12-25 10:35:58
【问题描述】:

我们正在将我们的一些应用程序从 CF10 升级到 CF2018。

在 CF2018 上,我们在 ColdFusion Administrator 中取消选中“启用 Null Support”,当我们输出 enableNullSupport 的值时,我们可以看到它设置为 NO。但是,我们仍然看到表明 Null 已启用的行为。

例如当我们创建一个具有未初始化属性(例如 FirstName)的对象时,表达式 getFirstName() eq "" 以前为真,现在 falseIsNull(getFirstName()) 为真

Null support in ColdFusion 2018 上的文章说:

现在在您的 ColdFusion 应用程序中,您可以将 null 分配给 变量,如下图:

<cfset price = null>

但是,如果您在https://cffiddle.org 尝试这一行(选择 CF2018),您会得到 - Variable NULL is undefined

看起来有关 Null 支持的文档具有误导性。

【问题讨论】:

  • 尝试运行在启用 null 时应该可以工作的代码。如果失败,那么可能还有其他影响您的组件的变化。您是否正在测试 2018 年的最新更新?
  • 谢谢。我目前只能使用本地 docker-vagrant 容器(从图像 eaps-docker-coldfusion.bintray.io/cf/coldfusion:latest 构建)进行测试。如果启用 Null Support,则 运行正常,否则会给出 'Variable NULL is undefined'

标签: coldfusion null coldfusion-2018


【解决方案1】:

我联系了 Adob​​e 支持,他们能够复制该问题,并返回确认这是一个错误。 他们给我发了一个补丁来解决这个问题。该补丁将包含在 cf2018 的未来更新中

【讨论】:

  • 所以只是为了澄清一下,补丁修复了哪些问题? CF2016也一样吗?
  • 我们遇到的主要问题是:当“启用空支持”被设置时,对于尚未初始化的属性,getProperty() eq "" 返回 FALSE。安装 Adob​​e 的补丁后,表达式返回 TRUE - 因此问题已得到修复。我不知道这是否适用于CF2016
猜你喜欢
  • 2022-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-13
  • 1970-01-01
  • 2021-10-01
  • 2011-06-06
  • 1970-01-01
相关资源
最近更新 更多