coldfusion自定义标签返回变量

use*_*291 2 coldfusion custom-tags

我有一个自定义标记,当用户标识传递给用户时,它会向用户的浏览器显示简历信息.我想将带有html输出的变量返回到调用页面,以便cfc可以使用它.任何人都可以评论如何在变量中返回html?是在正确的方式下?调用页面看起来像

In custom tag <cfset caller[attributes.returnVar] = '#cv_content#'>

calling page <cf_cv_info user_id="295725" returnVar="foo">
Run Code Online (Sandbox Code Playgroud)

谢谢

Sco*_*roz 5

在自定义标记caller内,您可以使用范围,该范围是对调用自定义标记的页面的引用.

免责声明这不是真正的"最佳实践",因为自定义标签真的不应该在自己之外 - 即使ColdFusion允许它.但这应该有效.

在自定义标记内:

<cfset caller[ attributes.returnVar ] = 'moo' />
Run Code Online (Sandbox Code Playgroud)

在调用自定义标记的.cfm中.

<cf_myCustomTagThatSetsSomeValue userid="12345" returnvar="someValue" >
<cfdump var="#someValue#" />
Run Code Online (Sandbox Code Playgroud)

根据Adam Cameron和Joe Rinehart的评论编辑

  • 没什么 - CFC,自定义标签,任何封装应该"到达"自身之外.如果您要触摸调用者范围,请使用属性传入要设置的变量名称.这至少允许调用者防止与其自己的变量冲突. (2认同)