0
<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. --->

为什么会这样?这是一个已知的错误?

4

2 回答 2

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" 属性,这不是必需的

于 2012-07-17T14:16:51.747 回答
0
<cfset request.myTestValue=attributes.myTestValue>

<cfdocumentSection>
   <cfdocumentitem type="footer" mytestvalue="#request.myTestValue#> 
      <cfdump var="#attributes#">
   </cfdocumentitem type="footer"> 
</cfdocumentSection>

这修复了它但是现在我知道它为什么不起作用了。谢谢巴尼尔。

于 2012-07-17T14:25:10.270 回答