如何将ColdFusion变量写入HTML元标记

如何将ColdFusion变量写入HTML元标记,coldfusion,Coldfusion,我在一个显示讣告的页面上有一个“分享到Facebook”按钮 这个网站是用ColdFusion编码的。我试图做的是将obituarietitle变量传递给meta标记og:description,如下所示: <meta property="og:description" content="#obituarietitle#"> 通过使用,除了通过的人的名字之外,所有的东西都显示出来了 “share”显示变量#obituarietitle#。我尝试了cfoutput标记、cfset

我在一个显示讣告的页面上有一个“分享到Facebook”按钮

这个网站是用ColdFusion编码的。我试图做的是将
obituarietitle
变量传递给meta标记
og:description
,如下所示:

<meta property="og:description" content="#obituarietitle#">

通过使用,除了通过的人的名字之外,所有的东西都显示出来了

“share”显示变量
#obituarietitle#
。我尝试了cfoutput标记、cfset等


我不熟悉ColdFusion或og:,我不知道这是否可行。

您必须位于cfoutput区域才能将变量内容写入输出HTML

因此,这将起作用:

<cfoutput>
<meta property="og:description" content="#EncodeForHTMLAttribute(obituarietitle)#">
</cfoutput>

注意
EncodeForHTMLAttribute()
-调用此函数是必要的,以确保该值在包含HTML特定字符时不会打断标记

这也是一种安全预防措施,可以防止。确保对输出的所有变量值使用此函数



编辑:
EncodeForHTMLAttribute()
是一组函数的近亲,这些函数的设计目的是格式化ColdFusion值,使其适合在各种上下文中安全使用。

如果在
cfoutput
中围绕变量不起作用,则要么没有安装ColdFusion,或者代码所在的请求页面不是
.cfm
页面,因此CF不会呈现该页面。
HTMLEditFormat
在ColdFusion 10中不推荐使用,请使用
encodeForHTMLAttribute
instead@John哦,很高兴知道!我已经很长一段时间没有看那个功能的文档了,弃用通知在我的雷达下悄悄溜走了。我有点不确定
HTMLEditFormat
EncodeForHTMLAttribute
之间的有效、实际区别在哪里。这些文档没有任何帮助,您能添加一些见解吗?关于两者之间的区别,请参阅:我尝试过它破坏了我的网站,下面是错误:在#DateFormat(Now(),“mmm d,yyyy”)#在#TimeFormat(Now(),“hh:mm TT”)发生错误#错误CGI请求表单URL会话邮件已发送邮件未发送我的文件以.cfm结尾-但是它是一个模板文件,因此.dwt.cfm是元标记所在的位置-不确定这是否是一个问题??这看起来像是一个新问题。你应该用修改过的代码问一个新问题