Coldfusion CFOUTPUT查询变量名在CF11 Linux上不起作用
我试图从一个结构中引用一个查询,并在其他cfm文件中使用它,但我从CF11 Linux中得到这个错误消息:标记cfoutput的属性验证错误。当前为Application.SRS.RequestTypes的属性查询的值无效。' 它在CF9窗口服务器上工作 代码如下: entry.cfmColdfusion CFOUTPUT查询变量名在CF11 Linux上不起作用,coldfusion,Coldfusion,我试图从一个结构中引用一个查询,并在其他cfm文件中使用它,但我从CF11 Linux中得到这个错误消息:标记cfoutput的属性验证错误。当前为Application.SRS.RequestTypes的属性查询的值无效。' 它在CF9窗口服务器上工作 代码如下: entry.cfm <script type="text/javascript"> function setTypeDesc( request_type ) { <CFOutput Query=
<script type="text/javascript">
function setTypeDesc( request_type ) {
<CFOutput Query="Application.SRS.RequestTypes">
if ( request_type == "#request_type_code#" ) {
document.getElementById( "TypeDesc" ).innerHTML = "#JSStringFormat( request_type_desc )#";
}
</CFOutput>
if ( request_type == "A" ) {
document.getElementById( "Developer_Label" ).className = "req";
this.form.Developer.value = '#UCase( Request.LogonID )#';
this.form.Developer.onblur();
} else {
document.getElementById( "Developer_Label" ).className = "";
}
}
</script>
load-type.cfm:查询语句
<CFQuery Name="RequestTypes" DataSource="#Application.SRS.AppDataSource#" BlockFactor="100">
SELECT
FROM srs_type
ORDER BY request_type_code
</CFQuery>
<CFLock Timeout="60" ThrowOnTimeout="Yes" Type="EXCLUSIVE" Scope="APPLICATION">
<CFSET Application.SRS.RequestTypes = RequestTypes>
<CFModule Template="#Application.ModuleDir#/query-to-struct.cfm"
DataQuery="#RequestTypes#"
KeyFieldList="request_type_code"
VariableName="Application.SRS.RequestTypesStruct">
</CFLock>
query-to-struct.cfm:
<CFParam Name="Attributes.DataQuery" Type="query">
<CFParam Name="Attributes.KeyFieldList" Type="string">
<CFParam Name="Attributes.VariableName" Type="string">
<CFSET ResultStruct = StructNew()>
<CFOutput Query="Attributes.DataQuery">
<CFSET KeyString = "">
<CFLoop List="#Attributes.KeyFieldList#" Index="field">
<CFSET KeyString = ListAppend( KeyString, Evaluate( field ) )>
</CFLoop>
<CFSET ResultStruct[KeyString] = StructNew()>
<CFLoop List="#Attributes.DataQuery.ColumnList#" Index="col">
<CFSET ResultStruct[KeyString][col] = Evaluate( col )>
</CFLoop>
</CFOutput>
<CFIF Attributes.VariableName contains ".">
<CFSET "#Attributes.VariableName#" = ResultStruct>
<CFELSE>
<CFSET "Caller.#Attributes.VariableName#" = ResultStruct>
</CFIF>
在您的CF10服务器上,输入cfdump Application.SRS.RequestTypes并查看是否定义了它。如果不是,请尝试调试您的代码,并查看为什么没有调用load-type.cfm。您确定该错误甚至与您向我们显示的代码有关吗?这是关于SRS的,严重的代码。我只能在您的代码中找到对SBS.RequestType的引用。我更新了错误消息,应该是Application.SRS.RequstTypes。我现在可以找到的解决方案是添加到我的第一个fileentry.cfm。它不需要添加到CF9窗口服务器上。您可以阅读以下内容