ajax – 不再渲染
发布时间:2020-12-16 02:54:30 所属栏目:百科 来源:网络整理
导读:我正在尝试在我的应用程序中显示购物车(Seam / RichFaces),并且已经包含了“从购物车中删除” a4j:commandLink /在每个项目旁边,从购物车中删除该项目.当我点击链接时,它应该重新呈现购物车内容以显示该项目已被删除.但是,当我点击链接时,没有任何反应.在包
我正在尝试在我的应用程序中显示购物车(Seam / RichFaces),并且已经包含了“从购物车中删除”< a4j:commandLink />在每个项目旁边,从购物车中删除该项目.当我点击链接时,它应该重新呈现购物车内容以显示该项目已被删除.但是,当我点击链接时,没有任何反应.在包含项目的操作中,购物车由ArrayList支持.我可以在我的操作中看到该调用,因此我知道该项目已被删除 – 如果我刷新页面,我看到它已被删除.我在下面的代码中做错了什么导致页面的这一部分不能正确地重新呈现?
更新:似乎它会正确地重新呈现,但并非在所有情况下.如果我的购物车中有超过1件商品并删除任何商品,但最近添加的商品则会正确退款.如果我在购物车中只有一个商品,或者我尝试删除最近添加的商品,则无法重新呈现任何商品.关于这里发生了什么的任何想法? <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> 解决方法
解决了.我将令人讨厌的JSF代码包装在< a4j中:outputPanel ajaxRendered =“true”/>一切都按预期开始了.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |