में किसी सरणी के माध्यम से बनाएं और पुनरावृत्त करें VTL में सरणी कैसे बनाएं और सरणी में सामग्री कैसे जोड़ें? इंडेक्स द्वारा सरणी की सामग्री को कैसे पुनर्प्राप्त करें?Velocity टेम्पलेट भाषा
उत्तर
मैंने वीटीएल में एक सरणी नहीं बनाई है लेकिन वीटीएल संदर्भ में सरणी पारित की है और उनका उपयोग किया है। VTL में, आप सूचकांक द्वारा सरणी सामग्री को पुनः प्राप्त नहीं कर सकते हैं, आप केवल foreach का उपयोग करें, उदाहरण के रूप में इस कोड को मेरी गतिशील एसक्यूएल पीढ़ी VTL स्क्रिप्ट से नकल है:
#foreach($col in $Columns) SUM($col.DBColumn) AS ''$col.Name''#if($velocityCount!=$Columns.Count), #end #end
इस कारण से, हम भी 2 डी सरणियों नहीं हो सकता। जब मुझे लगातार 2 वस्तुओं को स्टोर करने के लिए एक सरणी की आवश्यकता होती है, तो मैंने एक नई कक्षा को परिभाषित करने के कामकाज का उपयोग किया, और उस वर्ग की वस्तुओं को एकल आयामी सरणी में डाला।
Apache Velocity User Guide के अनुसार, कार्य की दाहिने हाथ की ओर प्रकार के हो सकते हैं
- चर संदर्भ
- सूची आइटम
- स्ट्रिंग शाब्दिक
- संपत्ति संदर्भ
- विधि संदर्भ
- संख्या शाब्दिक
- Arr ayList
- मानचित्र
आप की तरह एक अभिव्यक्ति के साथ, एक खाली सूची है, जो एक सरणी के लिए अपने सभी जरूरतों को पूरा करेगा बना सकते हैं एक अपाचे वेग टेम्पलेट में:
#set($foo = [])
या मूल्यों को प्रारंभ:
#set($foo = [42, "a string", 21, $myVar])
तो, जावा का उपयोग कर तत्वों को जोड़ने जोड़ने विधि:
$foo.add(53);
$foo.add("another string");
लेकिन सावधान रहें, क्योंकि सूची प्रकार के लिए जावा .add() विधि एक बूलियन मान देता है, जब आप सूची में कोई तत्व जोड़ते हैं, तो वेग प्रिंट करेगा, उदाहरण के लिए, "सत्य" या "झूठा" "एड" फ़ंक्शन का नतीजा।
<span>$foo[1]</span>
अभिव्यक्ति के ऊपर दिखाए:
#set($bar = $foo.add(42))
आप सूचकांक का उपयोग कर सूची के तत्वों का उपयोग कर सकते हैं:
एक साधारण काम के चारों ओर एक चर करने के लिए ऐड समारोह का परिणाम बताए है पाठ "एक स्ट्रिंग" के साथ एक अवधि। हालांकि सूची के तत्वों तक पहुंचने का सबसे सुरक्षित तरीका foreach loops का उपयोग कर रहा है।
एक सरणी बनाना आसान है:
#set($array = [])
एक सरणी में एक तत्व लाना भी आसान है:
$array.add(23)
एक तत्व हो रही एक सरणी से अपने वेग संस्करण से निर्भर करता है। वेग 1 में।6 आप का उपयोग करना चाहिए
$array.get($index)
वेग 1.7 जब से तुम क्लासिक फार्म का उपयोग कर सकते हैं:
$array[$index]
- 1. Velocity
- 2. Velocity टेम्पलेट्स
- 3. Velocity चर
- 4. स्ट्रिंग को Velocity टेम्पलेट के रूप में कैसे उपयोग करें?
- 5. मैं ब्लॉगर टेम्पलेट भाषा
- 6. Velocity- जेनरेट किए गए एचटीएमएल
- 7. Velocity/JS/CSS
- 8. बेहतर टेम्पलेट भाषा की जरूरत
- 9. टेम्पलेट भाषा बनाम सीधे PHP
- 10. TYPO3 द्रव टेम्पलेट भाषा कोड प्राप्त करें
- 11. क्रॉस जावा और जावास्क्रिप्ट टेम्पलेट भाषा?
- 12. Velocity टेम्पलेट्स के अंदर डेटाबेस प्रश्नों को परिभाषित करना
- 13. टंबलर किस टेम्पलेट भाषा का उपयोग करता है?
- 14. क्या भाषा संबंध पर एक टेम्पलेट विशेषज्ञ करना संभव है?
- 15. तरल टेम्पलेट भाषा का उपयोग कर लेआउट के भीतर आप टेम्पलेट कैसे प्रस्तुत कर सकते हैं?
- 16. Velocity में/अन्यथा (उर्फ टर्नरी ऑपरेटर) अगर इनलाइन कैसे करें?
- 17. प्राकृतिक भाषा कमांड भाषा
- 18. भाषा
- 19. डिफ़ॉल्ट भाषा
- 20. Magento टेम्पलेट फ़ाइल
- 21. वेग, विभिन्न टेम्पलेट पथ
- 22. टेम्पलेट तर्क टेम्पलेट तर्क
- 23. दो टेम्पलेट टेम्पलेट कटौती
- 24. क्यों टेम्पलेट टेम्पलेट पैरामीटर
- 25. टेम्पलेट टेम्पलेट कुल विशेषज्ञता
- 26. Velocity में string.split का उपयोग करने के बाद सरणी के तत्वों का उपयोग कैसे करें?
- 27. टाइप किए गए मेटाप्रोग्रामिंग भाषा
- 28. वर्डप्रेस: एकाधिक भाषा चयन
- 29. टेम्पलेट
- 30. टेम्पलेट
नोट कि हालांकि $ foo.add (53); दस्तावेज़ में 'सत्य' या 'झूठी' प्रस्तुत करता है। इसे रोकने के लिए आपको इसे #if में लपेटना होगा। – sproketboy
सही या गलत प्रस्तुत करने के लिए केस पहले से ही उत्तर में शामिल किया गया था। –
ओह हाँ क्षमा करें। मुझे अभी एहसास हुआ। आप इंडेक्स पैरामीटर के साथ ऐड विधि का उपयोग कर सकते हैं जो शून्य लौटाता है। – sproketboy