在 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>
关于java - Struts2 在 JSP 中从 session 映射迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35678926/