9

HashMapJSPページで取得しているオブジェクトがあります。

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

次に、これを繰り返して、JSPにコンテンツを表示する必要があります。このGift_productクラスにはname、との2つのフィールドが含まれていますprice

JSP出力は

serial no.           product name     price
17                    Doll            67

どうすればそれを達成できますか?

4

4 に答える 4

12

struts<logic:iterate>タグを確認してください。HashMapを反復処理する場合、各エントリはでありjava.util.Map.Entry、キー(この例ではシリアル番号)と値(Gift_productオブジェクト)を取得するには、次のようなプロパティを使用keyします。value

最初に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>
于 2010-06-15T10:59:07.880 に答える
5

これは私のために働きます(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> 
于 2013-09-04T12:27:53.050 に答える
1
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>
于 2013-07-29T09:30:01.137 に答える
0
<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>
于 2018-04-23T10:36:27.497 に答える