簡體   English   中英

來自會話的JSP中的Struts2地圖迭代

[英]Struts2 map iteration in JSP from session

在JSP中:

<s:if test="%{#session.cart==null}">
    &nbsp;&nbsp;Your cart is empty.
</s:if>
<s:else>    
<s:set var="cartlist" value="%{#session.cart}"/>

<s:iterator value="#cartlist">
<s:iterator value="value" status="cart">

<s:property value="#cart.pid"/>

</s:iterator>
</s:iterator>
</s:else>

為什么這else部分沒有迭代。 我做錯了。 如果購物車為空, if條件評估正確。 如果購物車不為空,則對else零件進行評估,但循環未進行迭代意味着它不顯示任何內容。

在行動中:

Map<Integer,Cart> map = new HashMap<Integer,Cart>();
map.put(map.size()+1,new Cart(pid,delivery,price,qty));
session.setAttribute("cart",map);
<s:if test="%{#session.cart==null}">
    &nbsp;&nbsp;Your cart is empty.
</s:if>
<s:else>    
<s:set var="cartlist" value="%{#session.cart}"/>
    <!-- following iterator returns Map.Entry of the map-->
    <s:iterator value="%{#carList}">
        <!-- This iterator loops through all the entries of the map -->
        <s:iterator>
            <s:property value="key"/>
            <s:property value="value.pid"/>
        </s:iterator>
    </iterator>
</s:else>

您太復雜了。 這就夠了:

<s:if test="%{#session.cart==null}">
    &nbsp;&nbsp;Your cart is empty.
</s:if>
<s:else>    
    <s:iterator value="%{#session.cart}">
        <s:property value="key"/>
        <s:property value="value.pid"/>
    </iterator>
</s:else>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM