Iterating over hashmap in JSP in struts application

主宰稳场 提交于 2019-12-21 09:54:22

问题


I have a HashMap object that I am getting on a JSP page.

HashMap<Integer,Gift_product> gift_hm = new HashMap<Integer,Gift_product>();
gift_hm.put(17,new Gift_product("doll",67));

Now I need to iterate this and display content on JSP. The Gift_product class contains two fields: name and price.

JSP output should be

serial no.           product name     price
17                    Doll            67

How can I achieve it?


回答1:


Check out the struts <logic:iterate> tag. When iterating over a HashMap, each entry is a java.util.Map.Entry, to get the key (in this example the serial number) and value (the Gift_product object) out use the key and value properties like this:

First set the HashSet as an attribute in your action class e.g. request.setAttribute("gift_hm", gift_hm); and then in the 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>



回答2:


This one works for me (struts2):

<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> 



回答3:


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>



回答4:


<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>


来源:https://stackoverflow.com/questions/3044447/iterating-over-hashmap-in-jsp-in-struts-application

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!