[英]Struts2 map iteration in JSP from session
在JSP中:
<s:if test="%{#session.cart==null}">
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}">
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}">
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.