标签: coldfusion

Coldfusion 替代评估()以动态从查询返回值

我一直在尝试找出正确的符号来使用该evaluate()函数。让我尝试解释一下:

我有几个组件:tasks.cfcrisks.cfc...等,每个组件都有各自的功能。命名约定类似,例如在tasks.cfc 中

我有该方法countAllFunctionInstanceTasks,返回变量具有相同的名称(countAllFunctionInstanceTasks),并且在risks.cfc我有等效的方法countAllFunctionInstanceRisks,并且其返回变量具有相同的名称(countAllFunctionInstanceRisks)。每个返回变量都是一个具有以下键的结构:

totalRed
totalAmber
totalGreen
totalComplete
totalOpen
Run Code Online (Sandbox Code Playgroud)

当我调用该组件时,我动态执行此操作:

<cfinvoke component="components.#session.myPermissions[i][j][k][l][m][n][o]["activityName"]#" 
    method="countAllFunctionInstance#session.myPermissions[i][j][k][l][m][n][o]["activityName"]#" 
    returnvariable="countAllFunctionInstance#session.myPermissions[i][j][k][l][m][n][o]["activityName"]#">
Run Code Online (Sandbox Code Playgroud)

所做的[i][j][k][l][m][n][o]["activityName"]就是从一组嵌套结构中提取一个值,并将重新调整该值(保持上面的示例)“任务”或“风险”。

这一点工作正常,它会按预期重新调整相应的值,例如,如果我在哪里:

<cfoutput>#countAllFunctionInstanceTasks.totalOpen#</cfoutput> 
Run Code Online (Sandbox Code Playgroud)

我将从tasks.cfc 中获得正确的值并且

<cfoutput>#countAllFunctionInstanceRisks.totalOpen#</cfoutput> 
Run Code Online (Sandbox Code Playgroud)

我将从中获得正确的值risks.cfc

到目前为止一切都很好,但是......我需要动态获取这些值,但我正在努力获取正确的符号来动态返回相应的值。所以我可以做类似的事情:

<p>countAllFunctionInstance#session.myPermissions[i][j][k][l][m][n][o]["activityName"]#.totalOpen</p> 
Run Code Online (Sandbox Code Playgroud)

这将返回字符串:

"countAllFunctionInstanceTasks.totalOpen"
"countAllFunctionInstanceRisks.totalOpen"
Run Code Online (Sandbox Code Playgroud)

但我想做的是动态生成已经存在并已从相应 cfc 重新调整的变量名称。

到目前为止,我所能做的就是:

<cfset totalOpen = "countAllFunctionInstance#session.myPermissions[i][j][k][l][m][n][o]["activityName"]#.totalOpen" />
<cfoutput>#evaluate(totalOpen)#</cfoutput>
Run Code Online (Sandbox Code Playgroud)

我知道使用该evaluate()函数不是一个好习惯,我试图找到一种替代符号,例如:

#["countAllFunctionInstance" & session.myPermissions[i][j][k][l][m][n][o]["activityName"] & ".totalOpen"]#
Run Code Online (Sandbox Code Playgroud)

我已经阅读了我可以找到的关于评估()替代方案和数组表示法的其他帖子,但这些与我在这里的用例不太一样,经过多次尝试和内涵,没有任何效果,我完全被难住了!

有人可以帮我吗?

谢谢你,

詹姆士

coldfusion

0
推荐指数
1
解决办法
78
查看次数

ColdFusion:如何访问动态列名称

冷聚变 2018。

我在 Oracle 中运行了一个数据透视查询,生成了以下列标题。

我需要将此查询的结果输出到 html 表中。

如何访问这些列标题?

在此输入图像描述

html coldfusion cfoutput

0
推荐指数
1
解决办法
78
查看次数

Coldfusion 中的 Evaluate() 函数不起作用

我在 Coldfusion 2021 中使用评估()时遇到错误。请查看屏幕截图在此输入图像描述

我可以知道背后的原因是什么吗?或者有什么解决方案可以解决这个问题吗?在我的项目中,我在很多地方都使用了这个功能。请帮我解决这个问题。

coldfusion cfc application.cfc cfml

0
推荐指数
1
解决办法
96
查看次数

带有电子邮件地址的CFMail

我不敢相信我以前从未注意到这一点,但似乎CFMail不会发送到未在目标邮件服务器上明确设置的电子邮件地址.

这意味着如果我使用'info@somedomainorother.com'并设置了捕获域中的所有电子邮件,CFMail将不会发送到'test@somedomainorother.com'.

这给我带来了大量问题,因为我正在使用CFMail发送订单确认,成员激活以及其他各种各样的点点滴滴.

无论您对使用捕获地址的看法如何,都不能否认人们使用它们因此,无论用户在我的某个网站中输入化妆地址,他们都不会收到他们的电子邮件.

必须,只需要解决这个问题 - 任何人都可以帮忙吗?

对于refernece,发送到catchall地址时日志中显示的消息是"Invalid Addresses".

编辑:这是我正在使用的CFMail语法 -

<cfmail to="#Arguments.sEmailAddress#" from="#Application.sAppEmailAddress#" subject="Stock reminder confirmation: #Local.qGetProductDetails.sProductName# - #Application.sCompanyName#" type="HTML" server="#Application.sAppEmailServer#" username="#Application.sAppEmailAddress#" password="#Application.sAppEmailPassword#">
Run Code Online (Sandbox Code Playgroud)

翻译成:

<cfmail to="thisisatest@somedomainorother.com" from="application@mydomainname.com" subject="Stock reminder confirmation: Some product - My Company" type="HTML" server="mail.mydomainname.com" username="application@mydomainname.com" password="XXXXXX">
Run Code Online (Sandbox Code Playgroud)

所有工作都适用于info@somedomainorother.com但不适用于randombunchofcharacters@somedomainorother.com.

当然要注意的是,在所有其他方面,catch-all工作正常,来自邮件客户端的测试电子邮件工作正常.

coldfusion cfmail

-1
推荐指数
1
解决办法
912
查看次数

如何使用ColdFusion返回前十大Google搜索结果?

我需要返回十大Google搜索结果,并希望使用ColdFusion来执行此操作.

我之前没有使用过ColdFusion,所以我不知道从哪里开始.有关使用什么标签或功能的任何建议,以及有关执行Google搜索的文档的任何链接将不胜感激.

此外,我需要最终列表,不要在其中列出任何地方.

coldfusion google-api google-search-api

-1
推荐指数
1
解决办法
688
查看次数

带方括号的表格输入元素

在我的表单中,我有一个带方括号的元素:

<input name="bodyIDList[]" id="bodyIDList" value="">
Run Code Online (Sandbox Code Playgroud)

当我将此页面传递给ColdFusion时,如何将其视为表单变量?作为列表还是数组?

coldfusion coldfusion-9

-1
推荐指数
1
解决办法
1014
查看次数

在ColdFusion中将字符串分隔成多行

有没有办法将字符串分成多行,如下所示:

<cfset qSelect = "xxxxxxxxxxxxxxxx
                  bbbbbbbbbbbbbbbbbbbbbbbb
                  xxxxxxxxxxxxxxxxxxxx">
Run Code Online (Sandbox Code Playgroud)

coldfusion

-1
推荐指数
2
解决办法
1894
查看次数

需要检查Coldfusion组件中返回的数据

我的服务器上有一个.cfc,用于运行查询并将结果发送回phonegap应用程序.我无法正确检查语法是否在查询中返回任何数据并在结果中发回一个字符串,如"找不到数据"来显示.这是我的代码......

remote array function getintList() {
        var q = new com.adobe.coldfusion.query();
        q.setDatasource("myData");
        q.setSQL("select id1, Date, ShowLInk, IntName, description from myData Where intyear = #dateformat(Now(), "YYYY")# order by date desc");
        var data = q.execute().getResult();
        var result = [];
        for(var i=1; i<= data.recordCount; i++) {
            arrayAppend(result, {"id"=data.id1[i], "name"=data.IntName[i], "date"=dateformat(data.date[i], "mmmm d, yyyy"), "description"=data.description[i], "showlink"=data.ShowLInk[i]});
        }
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

想也许我可以做这样的cfif语句,但它不起作用......

<cfif data.recordcount lt 1>
result = "no data"
return result;
<cfelse>
return result;
</cfif>
Run Code Online (Sandbox Code Playgroud)

希望可以有人帮帮我.

coldfusion cfc cordova

-1
推荐指数
1
解决办法
172
查看次数

在查询中找不到列,但它在列列表中

我正在尝试使用CFCSV 自定义标签解析 CSV 。这是我的 CFML 代码:

<cfset data = fileRead( "inputtest.csv", "utf-8" ) />
<cfcsv action="parse" data="#data#" variable="csv" hascolumnnames="true" delimiter="," />
<cfloop query="csv">
    <cfoutput>#csv.name#</cfoutput>
</cfloop>
Run Code Online (Sandbox Code Playgroud)

..和我的测试 CSV:

"Email","Name","Address1","Address2","City","State","ZIP","Country","Phone"
"somedude@foobar.com","Some Dude","3129 golden bridge ave",,"somecity","somestate","somezip","usa","1234567890"
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

在查询中找不到列 [NAME],列为 [电子邮件、名称、地址 1、地址 2、城市、州、邮政编码、国家/地区、电话]

如果我更改循环以输出名称以外的任何内容,它就会起作用。但我无法得到名字。即使将列名从 更改为Name也会TheName导致相同的错误:

在查询中找不到列 [THENAME],列为 [电子邮件、名称、地址 1、地址 2、城市、州、邮政编码、国家/地区、电话]

但同样,我输出电子邮件地址或任何其他列都没有问题。更改 CSV 中列的位置和/或从cfloop queryplus更改cfoutput为 justcfoutput query没有任何效果。

如果我cfdump查询,该列就在那里。

coldfusion railo cfml

-1
推荐指数
1
解决办法
573
查看次数

是否可以在某个日期自动发送 cfmail

我为一个非营利组织制作了一个表格,供应商可以在其中申请筹款活动的席位。一旦获得批准,就会向他们发送一封电子邮件,其中包含账单和邮寄支票的截止日期。一切都很棒!:)

我现在想做的是,如果到期日已过而未付款,则自动向他们发送提醒电子邮件。

是否可以触发 cfmail 在冷聚变中执行此操作?我到处寻找,但找不到任何接近的东西。

coldfusion cfmail

-1
推荐指数
1
解决办法
142
查看次数