标签: coldfusion

在ColdFusion中调用函数时如何只指定一些可选参数?

我有一个ColdFusion函数"foo",它有三个args,后两个是可选的:

<cffunction name="foo" access="public" returntype="any">
    <cfargument name="arg1" type="any" required="true" />
    <cfargument name="arg2" type="any" required="false" default="arg2" />
    <cfargument name="arg3" type="any" required="false" default="arg3" />

    ...

    <cfreturn whatever />
</cffunction>
Run Code Online (Sandbox Code Playgroud)

我想调用foo,传入arg1和arg3,但遗漏了arg2.我知道如果我使用函数调用这是可能的cfinvoke,但是这种语法真的很冗长和复杂.我试过这两种方法,都没有用:

<cfset somevar=foo(1, arg3=3) /> <!--- gives syntax error --->
<cfset somevar=foo(1, arg3:3) /> <!--- gives syntax error --->
Run Code Online (Sandbox Code Playgroud)

syntax coldfusion optional-parameters

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

试着在Notepad ++中找到ColdFusion的语法高亮显示

我在大多数项目和繁重的工作中使用CFEclipse,但有时我发现需要在项目范围之外的页面上快速修复,这在简单的文本编辑器中更容易实现.

我用谷歌搜索但似乎无法找到答案,所以无论是下载链接还是如何构建我自己的链接都会很棒.谢谢.

coldfusion notepad++ railo cfml

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

如何从ColdFusion查询循环中的返回值检查空值

<cfloop query="GET_ALL_STUDENTS>
 <cfif #student_id# is  NOT NULL>
 <!--- do something--->
 </cfif>
</cfloop>   
Run Code Online (Sandbox Code Playgroud)

上面是我如何循环我的cf查询返回null值,我想检查student_id是否为null.这是我尝试过但失败了.谁能告诉我一个更好的方法?

coldfusion null

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

Coldfusion:如何将字符串拆分为一组变量

我正在努力教自己ColdFusion.

我有一个以这种格式从数据库进来的字符串:

domain.com
<br/>
www.facebook.com/facebookpage
<br/>
http://instagram.com/instagrampage
Run Code Online (Sandbox Code Playgroud)

它全部来自#getRacer.txtDescription#.此文本的格式将始终相同.

我需要将它分成3个变量.我试过这个(源自adobe网站上的例子)

<h3>ListToArray Example</h3>
<cfset myList = ValueList(getRacer.txtDescription)>
<p>My list is a list with <cfoutput>#ListLen(myList)#</cfoutput> elements.
<cfset myArrayList = ListToArray(myList,'<br/>')>
<p>My array list is an array with 
<cfoutput>#ArrayLen(myArrayList)#</cfoutput> elements.
Run Code Online (Sandbox Code Playgroud)

我不知何故最终得到了数组中的11个项目.

谢谢

coldfusion cfml

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

切换到ColdFusion中的不同XSLT处理器

我使用两种不同版本的ColdFusion,ColdFusion 9并且两者ColdFusion 10都有所不同XSLT Processors.

ColdFusion 9在使用Apache XalanColdFusion 10正在使用Saxon.

那么,是否有可能改变XSLT Processor

要么

我们可以使用javax.xml.transform.TransformerFactory类切换到不同的处理器吗?

java coldfusion coldfusion-9 coldfusion-10

15
推荐指数
1
解决办法
405
查看次数

ColdFusion - 何时使用"请求"范围?

一直在查看我的前任代码,并经常查看"请求"范围的用法.该范围的适当用法是什么?

coldfusion railo cfml

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

选择一列DISTINCT SQL

补充:使用SQL Server 2000和2005,因此必须同时使用它们.另外,value_rk不是数字/整数(错误:操作数数据类型uniqueidentifier对于min运算符无效)

当我不关心返回的其他列时,有没有办法做单列"DISTINCT"匹配?例:

**Table**
Value A, Value L, Value P
Value A, Value Q, Value Z
Run Code Online (Sandbox Code Playgroud)

我需要根据第一行(值A)中的内容返回其中一行.我仍然需要来自第二和第三列的结果(第二列实际上应该全部匹配,但第三列是唯一的键,我至少需要其中一个).

这是我到目前为止所得到的,尽管它显然不起作用:

SELECT value, attribute_definition_id, value_rk
FROM attribute_values
WHERE value IN (
    SELECT value, max(value_rk)
    FROM attribute_values
)
ORDER BY attribute_definition_id
Run Code Online (Sandbox Code Playgroud)

我在ColdFusion工作,所以如果有一个简单的解决方法,我也会对此持开放态度.我试图限制或"分组"第一列"值".value_rk是我的大问题,因为每个值都是唯一的,但我只需要一个.

注意:value_rk不是数字,因此这不起作用

更新:我有一个工作版本,它可能比纯SQL版本慢一点,但说实话,任何工作在这一点上都比没有好.它从第一个查询获取结果,执行第二个查询,但将结果限制为一个,并获取匹配值的匹配value_rk.像这样:

<cfquery name="queryBaseValues" datasource="XXX" timeout="999">
    SELECT DISTINCT value, attribute_definition_id
    FROM attribute_values
    ORDER BY attribute_definition_id
</cfquery>

<cfoutput query="queryBaseValues">
    <cfquery name="queryRKValue" datasource="XXX">
        SELECT TOP 1 value_rk
        FROM attribute_values
        WHERE value = '#queryBaseValues.value#'
    </cfquery>
    <cfset resourceKey = queryRKValue.value_rk>
    ...
Run Code Online (Sandbox Code Playgroud)

所以你有它,在ColdFusion中明显选择一个列.任何纯SQL Server 2000/2005建议仍然非常受欢迎:)

sql sql-server coldfusion cfml

14
推荐指数
3
解决办法
6万
查看次数

插入ColdFusion和MySQL后获取表ID

我正常的插入一个表然后获取ID以便我可以插入到另一个表中的过程在MSSQL中是这样的:

DECLARE @transactionKey uniqueidentifier
SET @transactionKey = NEWID()

INSERT INTO transactions(transactionKey, transactionDate, transactionAmount)
    VALUES(@transactionKey, '#transactionDate#', '#transactionAmount#')

DECLARE @transactionID int
SELECT @transactionID = transactionID
    FROM transactions
    WHERE transactionKey = @transactionKey


INSERT INTO transactionItems(transactionID, itemID, itemAmount)
    VALUES(@transactionID, '#itemID#', '#itemAmount#')


SELECT @transactionID as transactionID
Run Code Online (Sandbox Code Playgroud)

我的问题是2部分.首先,这是最好的方法吗?我读到GUID有可能在我身上发生变化,我最终在第二个表中出现了无效的GUID.我假设这个机会非常渺茫,我多年来一直在各种项目上做这件事并且从来没有遇到过问题.

我的问题的第二部分是在MySQL中做这样的工作吗?我开始使用MySQL开发一个新项目,我不确定最好的方法.我通常只在MSSQL上工作过.

我在这个新项目上使用CF9和MySQL.

对此的任何帮助都会很棒.

提前致谢.

mysql sql-server coldfusion

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

强制Jboss记录使用SLF4J

我正在使用Hibernate 4.0和Coldfusion 8与Jrun,遗憾的是已经包含了log4j,我无法将其删除,并且log4j的版本太旧(没有跟踪).因此Hibernate无法正常工作.我想强制Jboss Logging使用SLF4j,我已经为自定义log4j添加了绑定.

coldfusion logging jboss log4j slf4j

14
推荐指数
1
解决办法
6458
查看次数

CF10 websocket p2p可以从JavaScript调用任何CFC中的任何公共函数.这怎么不是安全风险?

在Adobe ColdFusion 10开发指南中的点对点通信使用WebSocket时mysocket,<cfwebsocket>可以调用一个invoke()方法,该方法可以从JavaScript调用Any CFC上的任何公共方法.

这怎么不是安全风险?cfc/function如何防止被websocket调用?

1.创建CFM页面index.cfm.

<script type="text/javascript"> 
       function msgHandler(msgobj){ 
           var txt = document.getElementById("myDiv"); 
           var message = ColdFusion.JSON.encode(msgobj); 
           txt.innerHTML += message + "<br >" + "<br>"; 
       } 
       function invokecfcfn(){ 
              var fname= document.getElementById("fnname").value; 
              if (fname == "f2") { 
                     alert("f2 selected"); 
                     mysocket.invoke("mycfc", "f2", ["echo"]); 
              } 
              else 
                     mysocket.invoke("mycfc", fname); 

       } 
</script> 
<cfwebsocket name="mysocket" onmessage="msgHandler"/> 
<form> 
       <select id="fnname"> 
              <option>f1</option> 
              <option>f2</option> 
              <option>f3</option> 
       </select> 

       <input id="invokefn" name="invokefn" value="Invoke CFC function " type="button"  onclick="invokecfcfn();"> 
       <div id="myDiv"> …
Run Code Online (Sandbox Code Playgroud)

coldfusion coldfusion-10 cfwebsocket

14
推荐指数
2
解决办法
2914
查看次数