A realistic problem:How to show 3 records in one row by rich
ybxiang.wolf Apr 21, 2008 9:25 AMA realistic problem:How to show 3 records in one row by rich:datatable?
I am developing a web like
http://www.360buy.com/ or http://www.newegg.com/
As you can see, those webs shows 3 records in one row.
I tryied jstl's c:forEach, but it's too slow to show page contains images.
If i show one record per row by rich:datatable, the speed is ok.
Now, how to implement this effect by rich:datatable???
Below is the code implemented by jstl.
But it's too slow! I can not endure it!
<c:forEach var="rowCounter" items begin="0" end="2" step="1"> <s:div rendered="#{latestSearchingAction.getHot(rowCounter+0)!=null}"> <table width="100%" border="0" style="border: 1px solid #{a4jSkin.panelBorderColor}"> <tr valign="top"> <td width="33%" align="center" style="border-right: 1px solid #{a4jSkin.panelBorderColor};"> <s:div rendered="#{latestSearchingAction.getHot(rowCounter+0)!=null}"> <div> <h:outputLink target="_blank" value="/pages/erp/product/product.detail.#{globalConstants.urlPattern}?productId=#{latestSearchingAction.getHot(rowCounter+0).id}&randomCode=#{latestSearchingAction.getHot(rowCounter+0).randomCode}"> <s:graphicImage value="#{latestSearchingAction.getHot(rowCounter+0).image.dataOfThumbnail}" style="border: 0px solid black;" rendered="#{latestSearchingAction.getHot(rowCounter+0).image!=null and latestSearchingAction.getHot(rowCounter+0).image.dataOfThumbnail!=null}"> </s:graphicImage> <h:graphicImage value="#{latestSearchingAction.getHot(rowCounter+0).imageLink}" width="#{globalConstants.widthOfProductThumbnailPortrait}px" rendered="#{latestSearchingAction.getHot(rowCounter+0).image==null or latestSearchingAction.getHot(rowCounter+0).image.dataOfThumbnail==null}"/> <div> <h:outputText value="#{latestSearchingAction.getHot(rowCounter+0).getLocaledName(localeSelector.language)}" style="word-break:break-all;word-wrap:break-word;"/> </div> </h:outputLink> </div> <div> <h:outputText style="font-size:15px;font-weight: bold;line-height: 150%;" value="sellPrice: "/> <h:outputText value="#{latestSearchingAction.getHot(rowCounter+0).sellPrice} #{latestSearchingAction.getHot(rowCounter+0).priceUnitMenu.getLocaledName(localeSelector.language)}/#{latestSearchingAction.getHot(rowCounter+0).sellingUnitMenu.getLocaledName(localeSelector.language)}" /> </div> <div> <a4j:commandLink action="#{globalOperatingAction.addToCart(latestSearchingAction.getHot(rowCounter+0).id)}" immediate="true" onclick="alert('added to cart...');"> <h:graphicImage value="/img/cart.gif" /> <h:outputText style="font-size:15px;font-weight: bold;line-height: 150%;" value="add to cart" /> </a4j:commandLink> <div> <h:outputLink target="_blank" value="/pages/shop/productComment.detail.#{globalConstants.urlPattern}?productId=#{latestSearchingAction.getHot(rowCounter+0).id}&randomCode=#{latestSearchingAction.getHot(rowCounter+0).randomCode}"> <h:outputText style="font-size:15px;font-weight: bold" value="view/add comments" /> <h:outputText style="font-size:15px;font-weight: bold;line-height: 150%;" value="[total:#{latestSearchingAction.getHot(rowCounter+0).hitsOfComment}]" /> </h:outputLink> </div> </div> </s:div> </td> </tr> </table> </s:div> </c:forEach>