【发布时间】:2015-06-03 01:51:06
【问题描述】:
我断断续续地尝试了大约 6 个月左右的时间来弄清楚 CFC,但始终无法得到它。所以现在我有散布在不同页面中的 SQL 和 LDAP 查询,我想将它们整合到一个组件中。下面的查询在它自己的 CF 页面中工作,(我省略了帖子的一些查询详细信息)但我得到的是一个空白页面而不是任何结果。这是我的querys.cfc:
<cfcomponent>
<cffunction name="EmployeeQuery" access="public" returntype="query">
<cfargument name="EmployeeID" required="yes" type="string">
<cfldap action = "query"
name = "EmployeeAdd"
attributes = "distinguishedName, displayName"
filter = "sAMAccountName=#Arguments.EmployeeID#"
start = ""
scope="SUBTREE"
maxrows="1"
server = ""
username=""
password=""
separator=";" />
<cfreturn EmployeeAdd>
</cffunction>
</cfcomponent>
我有一个简单的输入表单,我在其中输入文本,单击提交,然后在我的操作页面上:
<cfif IsDefined("form.btnEmployeeAdd")>
<cfinvoke component="queries"
method="EmployeeQuery"
cfinvokeargument
name="EmployeeID"
value="#form.txtEmployeeID#">
<h3>Confirm Employee Entered</h3>
<cfoutput>#EmployeeAdd.displayName#</cfoutput>
</cfif>
我的结果是一个空白页,我什至没有得到h3 文本。如前所述,所有这些在 .cfm 页面中都可以正常工作,但是当我尝试将其放入 .cfc 时,它会使床变得糟糕。与这方面的所有文档一样,有很多不同的方法可以做到这一点,但我没有尝试过任何工作,所以我希望我能朝着正确的方向前进。
【问题讨论】:
-
小步带来幸福。从更简单的事情开始,比如返回“hello world”。然后返回当前日期和时间。
-
与您的问题无关,但不要忘记 VAR/LOCAL 作用域 all 函数局部变量,包括查询名称,即
EmployeeAdd。否则,如果组件曾经存储在共享范围内,则可能会出现难以跟踪的线程问题。
标签: coldfusion cfc