小编Sha*_*mes的帖子

在ColdFusion 8中,您可以使用cfscript将函数声明为私有吗?

通常你使用cfscript创建一个函数,如:

<cfscript>
    function foo() { return "bar"; }
</cfscript>
Run Code Online (Sandbox Code Playgroud)

有没有办法将它声明为私有函数,只能用于同一个cfc中的其他方法?

我知道你可以用标签做到:

<cffunction name="foo" access="private">
    <cfreturn "bar">
</cffunction>
Run Code Online (Sandbox Code Playgroud)

但我不想重写已经用cfscript编写的这个大函数.

coldfusion coldfusion-8

4
推荐指数
1
解决办法
1857
查看次数

在ColdFusion中创建嵌套Java类的实例

我正在尝试在ColdFusion中创建一个java.awt.geom.Point2D.Double实例.

Point2D.Double是抽象类Point2D中的嵌套类.我试图使用以下方法实例化该类:

<cfset PointClass = createObject("java", "java.awt.geom.Point2D.Double")>
Run Code Online (Sandbox Code Playgroud)

这会失败,因为ColdFusion无法找到该类.

而且<cfset PointClass = createObject("java", "java.awt.geom.Point2D")>它不工作,因为的Point2D是一个抽象类,没有一个公共的构造上,你可以调用PointClass.init(x,y).

现在,我已经使用自己的Point类来包装Point2D.Double类,以便我可以在ColdFusion中实例化它.我不认为这是理想的,我正在寻找有关如何在ColdFusion中直接创建Point2D.Double类的想法.

我也在使用ColdFusion 8.

java coldfusion

4
推荐指数
1
解决办法
705
查看次数

你如何在ColdFusion正则表达式中引用unicode字符?

我正在尝试匹配这个我可以用alt-0146输入的字符.Word告诉我它是unicode 0x2019但我似乎无法在ColdFusion中使用正则表达式匹配它.这是我用来匹配2到10个字母和撇号以及这个字符的片段

[[:alpha:]'\x2019]{2,10}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.有任何想法吗?

regex unicode coldfusion

4
推荐指数
1
解决办法
2348
查看次数

AUTH_USER和REMOTE_USER cgi变量之间的区别

文档对此并不完全清楚 - 这些变量之间是否存在差异?在IIS上,至少它们看起来是相同的,但如果它在其他服务器下可能不同,我不想依赖它.

iis coldfusion openbd railo

4
推荐指数
1
解决办法
7900
查看次数

ColdFusion:从列表中选择第一个非null值

在JavaScript中,您可以这样做:

var a = null;
var b = "I'm a value";
var c = null;
var result = a || b || c;
Run Code Online (Sandbox Code Playgroud)

并且'result'将获得'b'的值,因为JavaScript会使'或'运算符短路.

我想在ColdFusion中使用一行成语,我能想到的最好的是:

<cfif LEN(c) GT 0><cfset result=c></cfif>
<cfif LEN(b) GT 0><cfset result=b></cfif>
<cfif LEN(a) GT 0><cfset result=a></cfif>
Run Code Online (Sandbox Code Playgroud)

任何人都可以比这更好吗?

coldfusion idioms

3
推荐指数
1
解决办法
1212
查看次数

如何创建使用WS-Security的ColdFusion Web服务客户端?

我使用Java和WS-Security在我们的产品中公开了几个Web服务.我们的一位客户希望使用ColdFusion来使用Web服务.ColdFusion是否支持WS-Security?我可以通过编写Java客户端并在ColdFusion中使用它来解决它吗?

(我对ColdFusion不太了解).

coldfusion ws-security web-services

3
推荐指数
1
解决办法
3672
查看次数

如何摆脱我的RSS提要中的奇怪字符?

我创建了一个utf8编码的RSS源,它提供从数据库中提取的新闻数据.我已经将我的数据库的所有方面都设置为utf8,并通过将其粘贴到记事本并保存为utf8来保存我作为utf8放入数据库的文本.因此,当RSS源呈现给浏览器时,所有内容都应该以utf8编码,但是我仍然得到英镑符号的奇怪问号字符:(

这是我的RSS提要代码(CFML):

<cfsilent>
<!--- Get News --->
<cfinvoke component="com.news" method="getAll" dsn="#Request.App.dsn#"     returnvariable="news" />
</cfsilent>
<!--- If we have news items --->
cfif news.RecordCount GT 0>
<!--- Serve RSS content-type --->
<cfcontent type="application/rss+xml">
<!--- Output feed --->
<cfcontent reset="true"><?xml version="1.0" encoding="utf-8"?>
<cfoutput>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>News RSS Feed</title>
        <link>#Application.siteRoot#</link>
        <description>Welcome to the News RSS Feed</description>
        <lastBuildDate>Wed, 19 Nov 2008 09:05:00 GMT</lastBuildDate>
        <language>en-uk</language>
        <atom:link href="#Application.siteRoot#news/rss/index.cfm" rel="self" type="application/rss+xml" />

    <cfloop query="news">
    <!--- Make data xml compliant --->
        <cfscript>
        news.headline = replace(news.headline, "<", …
Run Code Online (Sandbox Code Playgroud)

rss coldfusion utf-8 character-encoding

3
推荐指数
1
解决办法
1403
查看次数

MySQL/ColdFusion 8:sql-mode

我们一直在用ColdFusion和MySQL做一些测试,有点困惑.我们知道你可以在/etc/my.cnf文件中设置不同的'sql-mode'标志,这将导致MySQL以某种方式运行,具体取决于定义的模式.我们知道,每当使用'--sql-mode ='标志启动MySQL时,您也可以设置这些标志.

在/etc/my.cnf中,我们看到没有定义模式(一个被注释掉)所以我们添加了'sql-nodes =""'并重新启动了mysql(/etc/init.d/mysqld restart).每当我们转到MySQL命令行来查看设置的模式时,这是输出:

mysql> SELECT @@GLOBAL.sql_mode;
+-------------------+
| @@GLOBAL.sql_mode |
+-------------------+
|                   | 
+-------------------+
1 row in set (0.00 sec)

mysql> SELECT @@SESSION.sql_mode;
+--------------------+
| @@SESSION.sql_mode |
+--------------------+
|                    | 
+--------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

这告诉我没有模式,这就是我们想要的.但是,在ColdFusion 8中做同样的事情,我们看到以下内容:


SELECT @@GLOBAL.sql_mode;
[empty string]


SELECT @@SESSION.sql_mode;
STRICT_TRANS_TABLES
Run Code Online (Sandbox Code Playgroud)

这表明Global sql-mode为空,而Session sql-mode设置为' STRICT_TRANS_TABLES',这是我们不想要的.

现在,我可以在我们做任何其他事情之前将Session sql-mode设置为ColdFusion为空,这给了我想要的效果,但我真的不想去每个查询并添加它.

我(尝试)查看/etc/init.d/mysqld脚本,看看我是否能找到它将设置模式的位置,但没有看到任何内容.

你们对正在发生的事情有任何建议或想法吗?就好像ColdFusion将它设置在某个地方一样,但是ColdFusion Administrator中没有任何内容可以让我看到它会设置它.

mysql coldfusion coldfusion-8

3
推荐指数
1
解决办法
899
查看次数

你如何决定使用什么:UDF或自定义标签?

WACK说:

如果您觉得需要大量参数,请考虑创建CT.

...

CT比自定义功能更强大,更灵活.尝试将UDF用于简单的事情...将CT和组件用于更多涉及的过程,尤其是那些您可以将其视为离散动作而非简单"按摩"的过程

好的,但你通常如何做决定?有兴趣了解现实生活中的实践和例子.

对我来说,当一个函数有许多不需要的参数时,就会发生这种情况,因此我必须将它们称为myFunc(arg1 ="foo",arg2 ="bar").有时<cfmodule>语法变得更易读,但并非总是如此.

其他原因是我不喜欢长(例如,超过2个代码屏幕)UDF.

但所有这些想法都是非常主观的,这就是为什么我有兴趣阅读其他人的意见.也许有更好的规则?

提前致谢.

coldfusion custom-tag user-defined-functions

3
推荐指数
1
解决办法
1011
查看次数

使用ColdFusion从SQL数据库中抓取长文本,输出被截断

我有一个SQL数据库,ntext其中包含一个保存页面内容的字段.

我正在使用ColdFusion查询信息并将其传递给表单.

该表格利用ckeditor用于该特定字段,该字段目前包含大约4000个字符.在ckeditor窗口中查看时,似乎缺少一些文本.

但是,当我查看数据库数据时,文本根本没有被截断; 它完好无损.

我认为这可能是ckeditor的字符限制,所以我将其关闭并通过textarea框查看数据,但文本仍然缺失.

查询是一个组件中保存的简单选择查询,没什么特别之处:

<cfquery name="getDrilledContent" datasource="#application.dsn#">
        SELECT co.uid_content, co.txt_contentgroup, co.txt_contentRefID, co.uid_contentuser, co.txt_contentvalue, co.dte_contentdate, co.txt_contentpagename,
        co.txt_metatitle, co.txt_metadescrip, co.txt_metakeywords, co.txt_metaurl, co.bit_primary, co.txt_h1, co.txt_contenturl, co.txt_contentlink,
        us.txt_du_firstname, us.txt_du_surname, txt_du_email, dte_edited, uid_changedby
        FROM tbl_content co 
        INNER JOIN tbl_datausers us ON co.uid_contentuser=us.uid_datauser
        WHERE uid_contentwebid = <cfqueryparam cfsqltype="cf_sql_integer" value="#session.webid#">
        <cfif Isdefined('arguments.uid_content') AND arguments.uid_content NEQ "">
        AND co.uid_content=<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.uid_content#"></cfif>
</cfquery>
Run Code Online (Sandbox Code Playgroud)

为什么这个查询不会将所有数据都拉下来?

sql coldfusion

3
推荐指数
1
解决办法
1438
查看次数