2013-09-26 3 views
6

मैं मूल्य स्टैक दिखाने के लिए struts2 debug टैग की तरह फ्रीमार्कर डेटा-मॉडल में सभी चर देखना चाहता हूं।फ्रीमार्कर समर्थन डेटा-मॉडल में सभी चर दिखाता है?

क्या फ्रीमार्कर ऐसा करने का कोई तरीका है?

उत्तर

13

वहाँ उस के लिए कोई सार्वभौमिक समाधान संभव है, लेकिन आप

<#list .data_model?keys as key> 
    ${key} 
</#list> 

यह काम करता है, तो डेटा मॉडल सिर्फ एक सामान्य Map या JavaBean है कोशिश कर सकते हैं, लेकिन और अधिक परिष्कृत डेटा मॉडलों के लिए यह डेटा पर निर्भर है -मोडेल कार्यान्वयन अगर यह ?keys का समर्थन करता है और यदि यह वास्तव में सब कुछ देता है।

तुम भी है चर है कि आप टेम्पलेट्स में सेट है, जो ऊपर की तरह सूचीबद्ध किया जा सकता है, केवल बजाय .data_model के उपयोग .globals, .namespace और .locals (जो वर्तमान टेम्पलेट नाम स्थान का मतलब है)।

तुम भी Configuration स्तर साझा चर हो सकता है, और वहाँ FTL से उन विशुद्ध रूप से सूचीबद्ध करने के लिए कोई रास्ता नहीं है (आप इसके लिए एक कस्टम TemplateMethodModel कि Configuration.getSharedVariableNames() पढ़ता है, हालांकि लिख सकता है, और यह टेम्पलेट से कहते हैं)।

बेशक, फ्रीमार्कर के पास <#show_variables> निर्देश या कुछ होना चाहिए, जो यह सब दिखाने के लिए सबसे अच्छा प्रयास करता है ... लेकिन दुख की बात है कि अभी तक ऐसी कोई चीज़ नहीं है।

+0

मुझे 'विस्तारित हैश की उम्मीद है, लेकिन यह एक हैश त्रुटि का मूल्यांकन किया गया। क्या इसका मतलब है '.data_model' हैश? कुंजी हैश ऑपरेटर का समर्थन नहीं करता है? –

+0

हां। गैर-विस्तारित हैश अपनी चाबियाँ या मूल्यों का आकलन नहीं कर सकते हैं। – ddekany

संबंधित मुद्दे