标签: coldfusion

如何在ColdFusion中对结构数组进行排序

我在ColdFusion中有一系列结构.我想根据结构中的一个属性对这个数组进行排序.我怎样才能做到这一点?我找到了StructSort函数,但它需要一个结构,我有一个数组.

如果纯粹在ColdFusion中这是不可能的,那么在Java中是否可能以某种方式(可能使用Arrays.sort(Object[], Comparator))?

sorting coldfusion struct

19
推荐指数
4
解决办法
2万
查看次数

ColdFusion https连接失败

我有一个API在我的两个Web服务器之一上运行良好,但在另一个或本地机器上没有运行,而是当我在登录过程中发送https请求时,我的连接失败.

请求非常简单,并且在运行它的三台服务器之一上运行时没有问题.第一个如下:

<cfhttp url="https://accounts.ea.com/connect/auth?response_type=code&client_id=EASFC-web&state=59c5a8f1c4e7a991c1da0b54504c38e45f4d8d78&redirect_uri=http%3A%2F%2Fwww.easports.com%2Ffifa%2Ffootball-club%2Flogin_check&locale=uk&scope=basic.identity+basic.persona+signin+offline " method="GET" result="Stage2" redirect="false">
    <cfhttpparam type="header" name="Accept" value="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" />
    <cfhttpparam type="header" name="Accept-Encoding" value="gzip, deflate" />
    <cfhttpparam type="header" name="Accept-Language" value="en-US, en;q=0.5" />
    <cfhttpparam type="header" name="Connection" value="keep-alive" />
    <cfhttpparam type="header" name="Host" value="accounts.ea.com" />
    <cfhttpparam type="header" name="User-Agent" value="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36" />
</cfhttp>
Run Code Online (Sandbox Code Playgroud)

我看了一眼,这似乎是一个常见的问题,但这个解决方案没有提供任何乐趣.

我假设有一些我可能会忽略的安全设置?如果有帮助的话,我可以点击页面并在本地计算机上的浏览器中登录.

有人有建议吗?

这是CFDUMP中返回的内容:

Debugging Information 
ColdFusion Server Developer 9,0,0,251028
Template    /CraigTest/FUT/FIFACPB/logInSearchAccount17.cfm
Time Stamp  09-Dec-13 11:40 AM
Locale  English (UK)
User Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; …
Run Code Online (Sandbox Code Playgroud)

coldfusion cfhttp

19
推荐指数
2
解决办法
3万
查看次数

如何在Excel下载中抑制文件损坏警告?

我有一个链接到Excel 2007工作表的网页.它是一个.xls文件而不是.xlsx文件.当我点击链接时,我得到通常的对话框来打开/保存Excel文件.点击"打开",我收到以下警告信息 -

您尝试打开的文件'filename.xls'的格式与文件扩展名指定的格式不同.在打开文件之前,请验证文件是否已损坏且是否来自受信任的源.你想现在打开文件吗?

我是否可以通过编程方式抑制此警告消息(即隐藏它或防止它出现?)我正在使用ColdFusion进行Web开发.

coldfusion excel

18
推荐指数
2
解决办法
7万
查看次数

MySQL数据类型:文本,,,错误:数据太长

我在MySQL中有如下字段:类型:文本长度:0小数:0

当我尝试插入大约4页MS Word的数据时,Coldfusion错误:数据太长了.

我以为TEXT数据类型能够扩展和处理这么大的数据?我错过了什么,我该怎么办?

mysql coldfusion types

18
推荐指数
2
解决办法
2万
查看次数

ColdFusion单元测试框架

作为一个相关的子问题 - 是否有任何CF单元测试框架支持或更容易使用模拟/存根?

我在一个看起来最有希望的快速谷歌中发现的2是MXUnit和CFUnit.是否有其他人,以及哪一个(?)有最广泛的采用和积极的发展?足够的问题塞进一个?

基本上我想做个好的选择.

编辑请注意,在最初编写问题时,MXUnit是首选,而TestBox也不会在github上使用几年.请参阅已接受答案的评论.

coldfusion mxunit cfml

18
推荐指数
2
解决办法
3560
查看次数

什么是cfsetting的ColdFusion 9脚本语法?

我正在尝试将其转换Application.cfc为脚本.原来有这个:

<cfcomponent displayname="Application" output="false">
     <cfset this.name               = "testing">
     <cfset this.applicationTimeout = createTimeSpan(0,1,0,0)>
     <cfset this.sessionManagement  = true>
     <cfset this.sessionTimeout     = createTimeSpan(0,0,30,0)>

     <cfsetting requesttimeout="20">
     ...
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何将cfsetting标签转换为脚本.以下尝试不起作用:

setting requesttimeout="20"; // throws a "function keyword is missing in FUNCTION declaration." error.
setting( requesttimeout="20" ); // throws a "Variable SETTING is undefined." error.
Run Code Online (Sandbox Code Playgroud)

看起来Railo可能支持它(链接),但我找不到ColdFusion文档中cfsetting标签的等价物

coldfusion application.cfc coldfusion-9 cfml

18
推荐指数
3
解决办法
6255
查看次数

17
推荐指数
1
解决办法
3050
查看次数

在Coldfusion中,如何初始化位于当前路径文件夹上方的组件?

如果我有一个如下所示的文件夹结构:

/
/bin/myComponent.cfc
/reports/index.cfm
Run Code Online (Sandbox Code Playgroud)

如何从index.cfm启动myComponent.cfc?

myService = createObject("component", "bin.myComponent");
Run Code Online (Sandbox Code Playgroud)

使用点语法,我知道如何进入更深层次的文件夹,但如何进入文件夹,然后进入另一个文件夹?使用斜杠语法,它将是这样的:

../bin/myComponent.cfc
Run Code Online (Sandbox Code Playgroud)

但是createObject()不能那样工作.我想保留一个相对路径,以便我可以将此文件夹移动到另一台服务器而不会破坏路径.

想法?谢谢!

编辑:

我的示例没有为您提供的广告素材答案显示足够深的文件夹结构.这是我应该做的:

/[my project folder]/
/[my project folder]/bin/myComponent.cfc
/[my project folder]/reports/index.cfm
Run Code Online (Sandbox Code Playgroud)

我的基本问题是,当使用从index.cfm到myComponent.cfc的createObject("component","dot path")时,是否可以使用UP目录.如果[my project folder]的名称在所有安装中都不是静态的该项目.

如果答案是否定的,那么我只需要弄清楚最佳实践是什么,无论是映射还是应用程序设置.

coldfusion cfc

17
推荐指数
2
解决办法
1万
查看次数

当我在cfoutput中调用函数时,为什么ColdFusion会添加空格?

如果我在ColdFusion中做这样的事情:

<cfoutput>foo="#foo()#"</cfoutput>
Run Code Online (Sandbox Code Playgroud)

生成的HTML前面有一个空格:

foo=" BAR"
Run Code Online (Sandbox Code Playgroud)

但是,如果它不是函数调用,它可以正常工作,即:

<cfset fooOut=foo() />
<cfoutput>foo="#fooOut#"</cfoutput>
Run Code Online (Sandbox Code Playgroud)

给出这个输出:

foo="BAR"
Run Code Online (Sandbox Code Playgroud)

这个额外的空间来自哪里,我能做些什么呢?


编辑为了澄清,空间不在我的foo函数返回的值中:

<cffunction name="foo" access="public" returntype="string">
  <cfreturn "BAR" />
</cffunction>
Run Code Online (Sandbox Code Playgroud)

但我也发现内置函数不会发生这种情况,即:

<cfoutput>"#UCase("bar")#"</cfoutput>
Run Code Online (Sandbox Code Playgroud)

打印:

"BAR"
Run Code Online (Sandbox Code Playgroud)

但是,如果我将函数的输出传递给内置函数(这部分对我来说没有意义),确实会发生这种情况.即:

<cfoutput>"#UCase(foo())#"</cfoutput>
Run Code Online (Sandbox Code Playgroud)

打印:

" BAR"
Run Code Online (Sandbox Code Playgroud)

coldfusion whitespace

17
推荐指数
1
解决办法
3364
查看次数

Chrome的Cookie过期日期出错

我在Chrome上的Cookie过期日期有问题.我使用ColdFusion设置了两个这样的cookie:

<cfset thekey = generatesecretkey("DESEDE")>
<cfcookie name="cookie1" value="#Hash(userid&thekey,'SHA-256')#" httponly="true" >
<cfcookie name="cookie2" value="#thekey#" httponly="true" >
Run Code Online (Sandbox Code Playgroud)

他们已经工作了一段时间.但是,在升级到ColdFusion 10并使用Chrome之后,奇怪的事情开始发生了.它只发生在Chrome浏览器上.其他浏览器没有此问题:

当设置这两个cookie时,它们的最终有效期为1969年12月31星期三下午7:00:11

这让我很困惑.你没看到,我没有设定任何到期日.所以默认只是会话.它们应该在用户会话结束时到期.我的问题是这个日期来自哪里?它来自ColdFusion 10服务器还是Chrome?我很遗憾为什么这个日期会出现在Chrome 的Cookie的Expires字段中.在此到期日期,cookie已被视为已过期且无效.

cookies coldfusion google-chrome coldfusion-10

16
推荐指数
1
解决办法
1万
查看次数