<cfparam name="attributes.mytestvalue" default="0">
<cfdump var="#attributes#">
<!--- Attributes are there. --->
<cfdocumentSection>
<cfdocumentitem type="footer">
<cfdump var="#attributes#">
</cfdocumentitem type="footer">
</cfdocumentSection>
<!--- Attributes are not there. --->
为什么会这样?这是一个已知的错误吗?
答案 0 :(得分:2)
根据\ WEB-INF \ cftags \ META-INF \ taglib.cftld,cfdocumentsection和cfdocumentitem本身实现为自定义标记,因此可能具有自己的属性范围,从而屏蔽您放入属性范围的值。
你可以试试这个:
<cfdocumentSection>
<cfdocumentitem type="footer" mytestvalue="#attributes.myTestValue#>
<cfdump var="#attributes#">
</cfdocumentitem type="footer">
</cfdocumentSection>
或许这个:
<cfset attribs={type="footer", myTestValue=0}>
<cfdocumentSection>
<cfdocumentitem attributeCollection="#attribs#">
<cfdump var="#attributes#">
</cfdocumentitem>
</cfdocumentSection>
另外,虽然我认为这不是问题,但你在cfdocumentItem的结束标记上有type =“footer”属性,这是没有必要的
答案 1 :(得分:0)
<cfset request.myTestValue=attributes.myTestValue>
<cfdocumentSection>
<cfdocumentitem type="footer" mytestvalue="#request.myTestValue#>
<cfdump var="#attributes#">
</cfdocumentitem type="footer">
</cfdocumentSection>
这解决了它然而现在我知道为什么它不起作用。谢谢Barnyr。