处理驻留在数据库表中的ColdFusion变量

时间:2014-06-03 05:49:24

标签: coldfusion coldfusion-10

我的一张表是保存一个包含ColdFusion变量的HTML表单。在我的代码中,我正在查询此表,需要在前端显示此表单。但是在显示时我得到了ColdFusion变量名而不是变量值。

保存在db表中的HTML表单:

<form action="" name="ci_entry_form" id="ci_entry_form" method="post">
<table width="100%" height="100%" border="0">
<tr>
<td align="right"><b style="color:red">*</b>&nbsp;<label class="pop_up_letter_font">G/L # &nbsp;&nbsp;&nbsp;&nbsp;:</label></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;<input class="pop_up_textbox" type="text" name="gl_number_text" id="gl_number_text" maxlength="21" value="#ARGUMENTS.chkDetails.GL_ACCT_NBR#" required/>&nbsp;&nbsp;&nbsp;
<select class="pop_up_dd" name="gl_number_drop" id="gl_number_drop" onChange="enableDisableGL()">
<option value="">---Select---</option>
<option value="new">Enter a new G/L number</option>
<cfoutput query="glNumbers">
<option value="#glNumbers.GL_ACCT_NBR#">#glNumbers.GL_ACCT_NBR#</option>
</cfoutput>
</select>           
</td>        
</tr>
</table>
</form>

方法(cffunction)包含以下代码,用于从db表中查询此html表单并返回html表单。

<cfquery name="qry_getTemplate" datasource="#APPLICATION.dsn#">
select FORM_TXT from HTML_FORMS where REQ_ID = 172
</cfquery>  

<cfsavecontent variable="form_content">
<cfoutput>#qry_getTemplate.FORM_TXT #</cfoutput>
</cfsavecontent>

但是当我转储cfcontent变量form_content时,我得到了HTML表单而没有处理coldfusion变量#ARGUMENTS.chkDetails.GL_ACCT_NBR##glNumbers.GL_ACCT_NBR#

我错过了什么吗?任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

我非常确定如果你搜索过这个网站或者通过谷歌搜索了一下你可能已经找到了已经发布到某处的答案,因为它一直出现(大约一次) 3-4个月)。

您无法输出CFML,并希望它能够执行。

我在博客上总结了CFML请求/编译/响应流程:&#34; The ColdFusion request/response process&#34;。

底线:CFML源代码需要在编译时从文件系统加载而不是在运行时。因此,当您希望代码执行时,您的代码需要位于文件系统中,而不是在DB或变量中。

您可以将代码写入文件,然后将其包含在内。这篇博客文章详细介绍了这一点。