我参与了一个 JSF 项目,并且正在尝试为购物车制作视图。用户的购物车可以包含存储在 cartBean 中的哈希映射(键 = id,值 = 数量)中的票。在 cart.xhtml 我尝试输出门票,在这里你可以看到代码:
<h:form>
<c:forEach var="tickets" items="#{cartBean.showTickets()}">
<hr/>
<div class="eight columns">
<div class="two column count">
<h:outputText style="font-size:30px;" value="#{tickets.value}"/>
</div>
<div class="two columns eventimg">
<a href="event.xhtml"><img src="img/dummy/event2.jpg" /></a>
</div>
<div class="six columns eventinfo">
<h4><a href="event.xhtml">Party Hard! </a></h4>
<p>05. Nov 2012</p>
</div>
<div class="two columns price">
<font style="font-size:30px;">35 €</font>
</div>
<div class="eight columns">
<h:outputText value="#{tickets.key}" escape="false"/>
<h:commandButton value="x" action="#{cartBean.removeFromCart(tickets.key)}"/>
</div>
</div>
</c:forEach>
</h:form>
在我尝试从购物车中删除一张票之前,这很好。如果我有两个不同的 id 键,它们会正确显示在购物车中。当我尝试删除 ID 为 1 的票时,只有 ID 为 2 的票仍保留在购物车中,这是正确的。但是,当我首先删除 id 2 时,它会在购物车中显示票 2,尽管它已从哈希图中删除。刷新站点后,它会正确显示 id 为 1 的票证,但那里出了什么问题?
请帮我!