java - Struts2 在 JSP 中从 session 映射迭代

标签 java jsp struts2 hashmap struts-tags

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

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

相关文章:

java - 如何在 ViewPager 中将值从一个 Fragment 传递到另一个 Fragment?

java - 如何使用 Java 代码在 selenium 中为 Chrome 浏览器设置代理

java - 在Java中计算两个图像直方图之间的卡方距离

java - Request、Session 和 ServletContext 中属性的区别

struts2 - struts.xml 中的 Action 重定向

java - 将单个文件复制到目标后,Struts 多文件上传获取 FileNotFoundException 的问题

java - struts 2文件上传没有这样的方法异常

java - jdbc。 sql中preparedStatement递增值

jsp - JSTL如何连接值?

java - 如何将 spring Controller 映射到扩展名为 .jsp 的 url?