J'essaie d'afficher un panier dans mon application (Seam/RichFaces), et j'ai inclus un "enlever du panier" <a4j:commandLink />
à côté de chaque article pour retirer l'article du panier. Lorsque je clique sur le lien, il est censé rendre le contenu du panier pour montrer que l'objet a été supprimé. Cependant, quand je clique sur le lien, rien ne se passe. Le panier est soutenu par une ArrayList dans mon action qui contient les éléments. Je peux voir l'appel dans mon action, donc je sais que l'élément a été supprimé - et, si je rafraîchis la page, je vois qu'il a été supprimé. Est-ce que je fais quelque chose de mal dans mon code ci-dessous qui fait que cette section de la page ne se redresse pas correctement?<a4j: commandLink> Non-Rétablissement
MISE À JOUR: Il semble que le rendu se fera correctement, mais pas dans tous les cas. Si j'ai plus de 1 objet dans mon panier et que j'enlève tout élément, mais le dernier élément ajouté, il se reforme correctement. Si je n'ai qu'un seul article dans le panier, ou que j'essaie de supprimer l'article le plus récemment ajouté, il ne parvient pas à rediffuser quoi que ce soit. Des pensées sur ce qui se passe ici ??
<s:div styleClass="cart_bag" rendered="#{identity.loggedIn}">
<h6 class="head"><h:outputText value="Your Shopping Cart" /><a:status
forceId="true" id="shoppingCartStatus">
<f:facet name="start">
<h:graphicImage value="/images/ajax-loader.gif" styleClass="right" />
</f:facet>
</a:status></h6>
<s:div id="shoppingCartItems">
<s:fragment
rendered="#{shoppingCart.shoppingCartContents.size() le 0}">
<p><s:span styleClass="bold">
<h:outputText style="color: #FFF;"
value="Your shopping cart is empty" />
<br />
<br />
<br />
</s:span></p>
</s:fragment>
<s:fragment
rendered="#{shoppingCart.shoppingCartContents.size() gt 0}">
<h:form>
<ul>
<ui:repeat value="#{shoppingCart.shoppingCartContents}"
var="cartItem">
<li><s:div styleClass="thumb">
<a href="detail.html"><img src="../images/cart_thumb.gif"
alt="" /></a>
</s:div> <s:div styleClass="desc">
<s:link view="/index.xhtml" styleClass="bold"
value="#{cartItem.name}">
<f:param name="ctxid" value="#{cartItem.uniqueIdentifier}" />
</s:link>
<p><span class="bold">Unit Price:</span> $629</p>
</s:div><a:commandLink id="removeItemFromCartBtn"
action="#{shoppingCart.removeFromShoppingCart()}"
styleClass="cros" reRender="shoppingCartItems"
status="shoppingCartStatus">
<f:param name="ctxid" value="#{cartItem.uniqueIdentifier}" />
<h:graphicImage value="/images/remove.png" />
</a:commandLink></li>
</ui:repeat>
</ul>
</h:form>
</s:fragment>
</s:div>
<s:div styleClass="clear"></s:div>
<s:fragment
rendered="#{shoppingCart.shoppingCartContents.size() gt 0}">
<p class="total left bold"><h:outputText
value="Total: #{shoppingCart.shoppingCartTotal}" /></p>
<a href="cart.html" class="crtbtn right"><span>Checkout</span></a>
</s:fragment>
</s:div>