2011-10-12 3 views
32

मैं अपने जावा/वसंत 3 ऐप में ईमेल टेम्पलेट्स के लिए वेग का उपयोग कर रहा हूं।
टेम्पलेट के भीतर से मॉडल में जोड़े गए ऐरेलिस्ट का आकार कैसे प्राप्त किया जा सकता है।वेग टेम्पलेट्स में सरणी/संग्रह का आकार कैसे प्राप्त करें/प्राप्त करें?

उत्तर

34

मैंने कभी भी वेग का उपयोग नहीं किया है, लेकिन इसकी VTL reference guide कहती है कि $customer.getAddress() या ${purchase.getTotal()} का उपयोग करके एक विधि को कॉल किया जाता है। तो मैं ${myArrayList.size()} का उपयोग करूंगा।

+6

संदर्भ कुछ समय में मैंने देखा उदाहरण कोड के सबसे मजेदार टुकड़ों में से एक है। मेरी स्क्रीन से कॉफी साफ करना था ... – Namphibian

12

किसी संग्रह को किसी अन्य ऑब्जेक्ट की तरह एक्सेस किया जा सकता है, इसलिए $collection.size() में कोई मान होगा।

सरणी special casedList की तरह व्यवहार करने के लिए है, इसलिए हालांकि $array.length काम नहीं करता, $array.size() काम करता है।

वेग (पुराने 1.6) के पुराने संस्करणों में आप ListTool और ArrayTool का उपयोग करेंगे। the developer guide से

0

उद्धरण:

वस्तु [] नियमित रूप से वस्तु सरणी, बहुत ज्यादा नहीं की जरूरत है यहाँ कहा जा सकता है। वेग आंतरिक रूप से एक कक्षा में आपके सरणी को लपेटेगा जो एक इटरेटर इंटरफ़ेस प्रदान करता है, लेकिन प्रोग्रामर या टेम्पलेट लेखक के रूप में आपको चिंता नहीं करना चाहिए। अधिक रुचि के कारण, यह तथ्य है कि वेग अब टेम्पलेट लेखकों को सरणी को निश्चित-लंबाई सूचियों (वेग 1.6 के रूप में) के रूप में इलाज करने की अनुमति देगा। इसका मतलब है कि वे आकार(), isEmpty() जैसी विधियों को कॉल कर सकते हैं और दोनों सरणी और मानक java.util पर अंतर (int) प्राप्त कर सकते हैं। अंतर के बारे में खुद को संबंधित किए बिना उदाहरण दें।

तो size() का उपयोग java.util.List और जावा सरणी पर समान रूप से अच्छी तरह से काम करता है।

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