2010-01-12 4 views
35

क्या आप इस तरह के वेग टेम्पलेट में ऐसा कुछ कर सकते हैं?वेग में आप जावा हैशप के प्रवेश सेट() के माध्यम से फिर से शुरू कर सकते हैं?

<name></name> 

और

<value></value> 

क्या मैं गलत कर रहा हूँ:

#set ($map = $myobject.getMap()) 
#foreach ($mapEntry in $map.entrySet()) 
    <name>$mapEntry.key()</name> 
    <value>$mapEntry.value()</value> 
#end 

यह इतना तरह खाली टैग आउटपुट?

+0

क्या आपने यह देखने के लिए प्रयास किया है कि क्या होता है? – Mark

+0

यह रिक्त टैग और आउटपुट करता है – Ayrad

उत्तर

89

आपका गलती बजाय गुण के रूप में की ("()" कोष्ठक अनुगामी के साथ) तरीके के रूप में कुंजी और मूल्य की चर्चा करते हुए किया गया है। इस प्रयास करें:

#set ($map = $myobject.getMap()) 
#foreach ($mapEntry in $map.entrySet()) 
    <name>$mapEntry.key</name> 
    <value>$mapEntry.value</value> 
#end 

दूसरे शब्दों में, एक संपत्ति का उपयोग या तो, mapEntry.key, या विधि की तरह, mapEntry.getKey() की तरह।

4

मैं वेग में हैश मैप के माध्यम से लूप करने का एक तरीका ढूंढ रहा हूं, और यह भी काम करेगा।

#set ($map = $myobject.getMap()) 
#foreach($key in $map.keySet()) 
     <name>$key</name> 
     <value>$resume.get($key)</value> 
#end 

जैसे ही आप जावा में हैश मैप के माध्यम से लूप करेंगे।

-1

स्पष्टीकरण (मैं टिप्पणी नहीं कर सकता) को स्पष्ट करने के लिए, सामान्य रूप से आप जावा को विधियों का उपयोग कर सकते हैं, या उन्हें छोटे अक्षरों के बिना और () के बिना संबंधित नाम से प्रतिस्थापित कर सकते हैं।

तो $mapEntry.getKey() या map.key

0

यहाँ मूल्य

itemsValue={data1=1,data2=2,data3=3} 

तो, हम मूल्य के समूह पुनरावृति करने की जरूरत है;

foreach ($key in ${itemsValue.keySet()}) 
    if($itemsValue.get($key)==1) 
     Condition 
    end 
end 

उपरोक्त कोड में हम देख सकते हैं की जाँच मूल्य तरह होगा - "data1, data2 आदि ..." लेकिन get() का उपयोग कर के बाद, हम उदाहरण के मूल्य प्राप्त करने में सक्षम हो सकते हैं।

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