如何在ColdFusion中调用带有一些参数的cfm文件?

时间:2013-11-21 16:03:37

标签: coldfusion coldfusion-9

是否可以使用某些URL参数从另一个cfm文件调用cfm文件?

cfinclude不起作用,因为它只包含内容..

3 个答案:

答案 0 :(得分:15)

当您使用<cfinclude>时,您将要包含的页面中提供调用该文件的页面中的所有可用值。

所以你基本上可以传入变量而不是URL参数,并实现相同的功能。但是,您必须在include之上声明变量。

example.cfm

<cfset x = 5 />
<cfinclude template="derp.cfm" />

derp.cfm

<cfif IsDefined("x")>
    <cfoutput>#x#</cfoutput> //this should output 5 since it was declared before the include
</cfif> //always good to make sure they're defined first

答案 1 :(得分:3)

您还可以通过cfmodule调用传递变量(cfmodule template =“myfile.cfm”x =“5”)。但是这很快就变得复杂了,对于简单的操作来说可能有点过分。我想这将取决于你所调用的页面需要做什么,以及如果你的被调用页面的内容暴露给页面的其余部分是否重要。但是你很好地进入了“我应该在CFC中做到这一点”的领域。

cfmodule是一种可能性,但不是我没有理由推荐的。如果你必须有这种级别的封装,我可能会在CFC中进行。

答案 2 :(得分:1)

对于我的情况,我是这样做的,

<cfset URL.productId = 456>
<cfset URL.templateId = 2066>
<cfinclude template="mytemplate.cfm">

因此,在我的模板页面中,productId和templateID都将在URL范围内可用。