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>

これで修正されましたが、なぜ機能しなかったのかがわかりました。Barnyrに感謝します。

于 2012-07-17T14:25:10.270 に答える