primefaces - Display HashMap data in JSF page -
मैं हांमप की सामग्री को इनपुट टेक्स्ट, चयनऑनमेनयू इत्यादि जैसे प्राइमफस विजेट्स में प्रदर्शित करने में संघर्ष कर रहा हूं।
मैंने hasmaps परिभाषित किया है
निजी मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; सबआईडमैप = नया हैशमैप & lt; स्ट्रिंग, स्ट्रिंग & gt; (); निजी मानचित्र & lt; स्ट्रिंग, मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; & gt; डेटामैप = नया हैशमैप & lt; स्ट्रिंग, मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; & gt; (); // उनके प्राप्तकर्ता और सेटर्स।
उपआयडमार्क में कुंजी और मान शामिल हैं < P> आईडी 001 <पूर्व> निजी मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; सबआईडमैप = नया हैशमैप & lt; स्ट्रिंग, स्ट्रिंग & gt; (); SubIdMap.put ("id", "001"); SubIdMap.put ("name", "एलेक्जेंडर"); सबआईडमैप। इनपुट ("आयु", "24"); SubIdMap.put ("लिंग", "पुरुष"); सबआईडमैप.पूट ("देश", "ग्रीस"); आईडी = 002 <पूर्व> निजी मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; सबआईडमैप = नया हैशमैप & lt; स्ट्रिंग, स्ट्रिंग & gt; (); SubIdMap.put ("id", "002"); उपआइममैप.पूट ("नाम", "जॉन"); सबआईडमैप। इनपुट ("आयु", "25"); SubIdMap.put ("लिंग", "पुरुष"); सबआईडमैप। इनपुट ("देश", "यूएस"); डेटामैप एक ऐसा नक्शा होता है जिसकी आईडी को चाबियाँ और उप आईडीमैप के रूप में उनके मान हैं
निजी मानचित्र & lt; स्ट्रिंग, मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; & gt; डेटामैप = नया हैशमैप & lt; स्ट्रिंग, मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; & gt; (); DataMap.put ("001", सबआईडमैप); या dataMap.put ("002", सबआईडमैप); मेरे पास एक ऐसा पृष्ठ है जहां उपयोगकर्ता आईडी 001 पर क्लिक करता है, यह आईडी = 001 के लिए डेटा या बीन से आईडी = 002 के लिए और एक्सएचटीएल पृष्ठ में प्रदर्शित होगा। मैं एक्सएचटीएमएल पेज में फ़ील्ड में मैप से डेटा नहीं दिखा पा रहा हूं
स्निपेट @ManagedBean (name = "sampleBean") @ ViewScoped सार्वजनिक वर्ग नमूनाबेन लागू करता है Serializable {निजी मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; सबआईडमैप = नया हैशमैप & lt; स्ट्रिंग, स्ट्रिंग & gt; (); निजी मानचित्र & lt; स्ट्रिंग, मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; & gt; डेटामैप = नया हैशमैप & lt; स्ट्रिंग, मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; & gt; (); सार्वजनिक नमूनाबीन () {उपआईआईपीमैप। ("आईडी", "001"); SubIdMap.put ("name", "एलेक्जेंडर"); सबआईडमैप। इनपुट ("आयु", "24"); SubIdMap.put ("लिंग", "पुरुष"); सबआईडमैप.पूट ("देश", "ग्रीस"); dataMap.put ( "001", subIdMap); } / ** * subIdMap * / सार्वजनिक मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; GetSubIdMap () {वापसी subIdMap; } / ** * @ परम सबआईडआप को सेट करने के लिए सबआईडमैप को मैप करें * / सार्वजनिक शून्य सेटस्यूबआईडीमैप (मैप & lt; स्ट्रिंग, स्ट्रिंग & gt; सबआईडमैप) {this.subIdMap = subIdMap; } / ** * डेटामाप * / सार्वजनिक नक्शा वापस ले जाएं; स्ट्रिंग, मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; & gt; GetDataMap () {वापसी डेटामैप; } / ** * @ परम डेटामैप को सेट करने के लिए डेटामैप * / सार्वजनिक शून्य सेटडेटामैप (मानचित्र & lt; स्ट्रिंग, मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; डेटामैप) {this.dataMap = dataMap; }} एक्सएचटीएमएल पेज & lt; p: इनपुट टेक्स्ट id = "textId" value = "..... ........ "/ & gt; & Lt; p: selectOneMenu id = "selectId" मान = "................" / & gt; मुझे यहां कुछ दिशा-निर्देश चाहिए।
अपनी समस्या को हल करने के लिए, मानचित्र से कीसेट को प्राप्त करने के लिए अपने बीन में एक विधि प्राप्त करें <पूर्व> सार्वजनिक सूची getKeyList () {नई ArrayList (dataMap.keySet ()); } फिर दोबारा टैग जेएसएफ पेज में दोहराएं और चाबियाँ प्रदर्शित करें
& lt; ui: दोहराए गए मूल्य = "# {newJSFManagedBean.keyList}" var = "कुंजी" & gt; कुंजी: & lt; h: आउटपुटटेक्स्ट मान = "# {कुंजी}" / & gt; & Lt; / ui: दोहराने & gt; लेकिन मानचित्र के अंदर मानचित्र का उपयोग करने के बजाय, मैं व्यक्ति नामक एक साधारण वर्ग बनाने का सुझाव देता हूं और वहां मान रखता हूं, फिर एक नक्शा का उपयोग करें जैसे <पूर्व> निजी मानचित्र & lt; स्ट्रिंग, व्यक्ति & gt; डेटामैप = नया हैशमैप (); आशा है कि आप आगे बढ़ सकते हैं।
Comments
Post a Comment