代码之家  ›  专栏  ›  技术社区  ›  Shadowman

<a4j:commandLink>不重新提交

  •  4
  • Shadowman  · 技术社区  · 15 年前

    <a4j:commandLink />

    更新: 似乎它会适当地重播,但并非在所有情况下都如此。如果我的购物车中有一个以上的项目,并删除任何项目,但最近添加的项目,它会重新正确提交。如果购物车中只有一个商品,或者尝试删除最近添加的商品,则无法重新提交任何商品。有什么想法吗??

    <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>
    
    1 回复  |  直到 11 年前
        1
  •  10
  •   Shadowman    15 年前

    解决了的。我用 <a4j:outputPanel ajaxRendered="true" />