Java struts应用程序中JSP中hashmap的迭代

Java struts应用程序中JSP中hashmap的迭代,java,struts-1,Java,Struts 1,我在JSP页面上有一个HashMap对象 HashMap<Integer,Gift_product> gift_hm = new HashMap<Integer,Gift_product>(); gift_hm.put(17,new Gift_product("doll",67)); 如何实现它?查看struts标签。在HashMap上迭代时,每个条目都是一个java.util.Map.entry,要获取键(在本例中是序列号)和值(礼品产品对象),请使用键和值属性,如下

我在JSP页面上有一个
HashMap
对象

HashMap<Integer,Gift_product> gift_hm = new HashMap<Integer,Gift_product>();
gift_hm.put(17,new Gift_product("doll",67));
如何实现它?

查看struts标签。在HashMap上迭代时,每个条目都是一个
java.util.Map.entry
,要获取键(在本例中是序列号)和值(礼品产品对象),请使用
属性,如下所示:

首先将HashSet设置为动作类中的一个属性,例如
request.setAttribute(“gift_-hm”,gift_-hm)然后在jsp中:

<logic:iterate id="mapEntry" name="gift_hm">
  <bean:define id="gift" name="mapEntry" property="value">
  <tr>
    <td><bean:write name="mapEntry" property="key"></td>
    <td><bean:write name="gift" property="productName"></td>
    <td><bean:write name="gift" property="price"></td>
  </tr>
</logic:iterate>

解决方案
-----------
这一款适合我(struts2):




有趣,我没有在源代码中添加泛型部分(我只是将其重新格式化为代码),但修订历史似乎与此不一致?@rsp:有时泛型被解释为html标记,并从格式化输出中删除。将文章正确格式化为代码,然后使其显示出来。使用修订版上的“查看来源”来验证这一点。是否直接获取关键部件中的序列号、值中的产品名称。getProdutname()和价格值。getPrice()。。。不太确定..我修改了它,将HashMap键(mapEntry.getKey)打印为序列号,并从mapEntry.getValue()中提取Gift_产品对象
<logic:iterate id="mapEntry" name="gift_hm">
  <bean:define id="gift" name="mapEntry" property="value">
  <tr>
    <td><bean:write name="mapEntry" property="key"></td>
    <td><bean:write name="gift" property="productName"></td>
    <td><bean:write name="gift" property="price"></td>
  </tr>
</logic:iterate>
Solution
-----------
<s:iterator value="map">
  <h3><s:property value="key" /></h3>
  <table>
  <s:iterator value="value">
    <tr><td><s:property /></td></tr>
  </s:iterator>
  </table>
</s:iterator>
<s:iterator value="giftMap" var="giftMapElement">
    <s:set var="giftKey" value="#giftMapElement.key"/>
    <s:set var="giftValue" value="#giftMapElement.value"/>
    <tr>
        <td><s:property value="#giftKey"/></td>
        <td><s:property value="#giftValue.productName"/></td>
        <td><s:property value="#giftValue.price"/></td>
    </tr>
</s:iterator> 
<logic:iterate name="FormName" property="formProperty"
                            id="list" indexId="sno">
                    <tr>
                                <td><bean:write name="list" property="value.giftproductVariable" /></td>
                                <td><bean:write name="list" property="value.giftproductVariable" /></td>

                            </tr>
                        </logic:iterate>