我一直在尝试找出正确的符号来使用该evaluate()函数。让我尝试解释一下:
我有几个组件:tasks.cfc,risks.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)
我已经阅读了我可以找到的关于评估()替代方案和数组表示法的其他帖子,但这些与我在这里的用例不太一样,经过多次尝试和内涵,没有任何效果,我完全被难住了!
有人可以帮我吗?
谢谢你,
詹姆士
我不敢相信我以前从未注意到这一点,但似乎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工作正常,来自邮件客户端的测试电子邮件工作正常.
我需要返回十大Google搜索结果,并希望使用ColdFusion来执行此操作.
我之前没有使用过ColdFusion,所以我不知道从哪里开始.有关使用什么标签或功能的任何建议,以及有关执行Google搜索的文档的任何链接将不胜感激.
此外,我需要最终列表,不要在其中列出任何地方.
在我的表单中,我有一个带方括号的元素:
<input name="bodyIDList[]" id="bodyIDList" value="">
Run Code Online (Sandbox Code Playgroud)
当我将此页面传递给ColdFusion时,如何将其视为表单变量?作为列表还是数组?
有没有办法将字符串分成多行,如下所示:
<cfset qSelect = "xxxxxxxxxxxxxxxx
bbbbbbbbbbbbbbbbbbbbbbbb
xxxxxxxxxxxxxxxxxxxx">
Run Code Online (Sandbox Code Playgroud) 我的服务器上有一个.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)
希望可以有人帮帮我.
我正在尝试使用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查询,该列就在那里。
我为一个非营利组织制作了一个表格,供应商可以在其中申请筹款活动的席位。一旦获得批准,就会向他们发送一封电子邮件,其中包含账单和邮寄支票的截止日期。一切都很棒!:)
我现在想做的是,如果到期日已过而未付款,则自动向他们发送提醒电子邮件。
是否可以触发 cfmail 在冷聚变中执行此操作?我到处寻找,但找不到任何接近的东西。
coldfusion ×10
cfc ×2
cfmail ×2
cfml ×2
cfoutput ×1
coldfusion-9 ×1
cordova ×1
google-api ×1
html ×1
railo ×1