शामिल JSF 1.2 और JSP .... का उपयोग करना अधिक पुनरावृतिJSF 1.2 - एक मानचित्र कि संग्रह
यह एक मानचित्र जिनके मान संग्रह शामिल अधिक पुनरावृति करना संभव है?
Map<String, List<Foo>> myMap;
मैं myMap से अधिक पुनरावृति और प्रत्येक कुंजी के लिए एक अलग तालिका आकर्षित करने के लिए करना चाहते हैं:
मैं एक नक्शा है कि इस तरह दिखता है।
प्रत्येक तालिका एकाधिक पंक्तियों को दूषित करेगी।
प्रत्येक पंक्ति ArrayList वर्तमान कुंजी को मैप किया से एक फू वस्तु का प्रतिनिधित्व करेंगी।
अफसोस की बात है कि हम जेएसएफ 1.2 और जेएसपी का उपयोग कर रहे हैं।
मुझे लगता है मैं एक नेस्टेड <h:dataTable>
टैग इस्तेमाल कर सकते हैं उम्मीद कर रहा था, लेकिन मैं किसी भी सफलता नहीं कर रहा हूँ।
संपादित:
javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach>
<c:forEach items="#{someModule$someBean.prefMap}" var="mapEntry">
<br/><br/><p>Key: <h:outputText value="#{mapEntry.key}"/></p>
<h:dataTable value="#{mapEntry.value}" var="pref">
<h:column><h:outputText value="#{pref.defaultFieldLabel}"/></h:column>
<h:column><h:outputText value="#{pref.fieldLabel}"/></h:column>
</h:dataTable>
</c:forEach>
यह निम्न अपवाद का कारण बनता है:
यहाँ BalusC के जवाब से परामर्श के बाद मेरे वर्तमान JSP कोड है
यहाँ मेरी प्रबंधित बीन से कुछ कोड है।
ध्यान दें कि मैं HashMap और ArrayList के बजाय मानचित्र और सूची का उपयोग कर रहा
(मैंने कहीं पढ़ा है आप इंटरफेस है, जो भी काम नहीं करते उपयोग नहीं कर सका) से पहले
private HashMap<String, ArrayList<Foo>> prefMap;
public HashMap<String, ArrayList<Foo>> getPrefMap()
{
if (prefMap == null)
{
buildPrefMap();
}
return prefMap;
}
private void buildPrefMap()
{
prefMap = new HashMap<String, ArrayList<Foo>>();
for (Foo mdp : getFooArray())
{
String cat = mdp.getField().getCategory();
if (! prefMap.containsKey(cat))
{
ArrayList<Foo> mpl = new ArrayList<Foo>();
mpl.add(mdp);
prefMap.put(cat, mpl);
}
else
{
prefMap.get(cat).add(mdp);
}
}
}
private void dumpMapInfo()
{
StringBuilder sb = new StringBuilder();
Map<String, ArrayList<Foo>> theMap = getPrefMap();
for (String key : theMap.keySet())
{
sb.append(key + ": " + theMap.get(key).size());
}
System.out.println("\n\n" + sb.toString());
}
dumpMapInfo
कॉलिंग पेज को प्रतिपादित करने से पुष्टि होती है कि मानचित्र शून्य नहीं है और अपेक्षित के रूप में पॉप्युलेट किया गया है।
क्षमा करें, जेएसएफ 1.2 भाग को याद किया। यह सहायक हो सकता है: http://stackoverflow.com/a/8552872/880619 –
दुर्भाग्यवश हम जेएसपी (फेसलेट्स नहीं) का उपयोग कर रहे हैं। 'Javax.servlet.jsp.JspTagException: – jahroy