我正在尋找如何處理重新渲染數據網格的奇怪效果的提示。我有以下網格結構:JSF RichFaces reRender事件更改豐富:dataGrid結構
<rich:dataGrid id="allProductsGrid" value="#{allProducts}" var="_product">
<s:div styleClass="grid-element">
<s:link view="/product.xhtml">
<s:div styleClass="product-element">
<h:graphicImage value="/content/images?id=#{_product.image.id}&width=170"/>
</s:div>
<div id="title">
<h:outputText value="#{_product.name}" />
</div>
<f:param name="productId" value="#{_product.id}" />
</s:link>
</s:div>
</rich:dataGrid>
網格被reRendered由搜索輸入字段觸發的onkeyup事件。目前沒有魔法。現在問題是reRendering會改變html生成的結構(DOM)。結果鏈接不再工作。
該頁面的第一渲染螢火蟲-HTML的檢查如下:
<div id="j_id86:allProductsGrid:0:j_id124" class="grid-element">
<a id=".. " onclick=".." href="/portal/product.vc?productId=22&cid=69">
<div id="j_id86:allProductsGrid:0:j_id126" class="product-element">
<img src="/portal/content/images?id=&width=170">
</div>
<div id="title">Sample Product</div>
</a>
</div>
重新描繪電網後的HTML輸出是:
<div id="j_id86:allProductsGrid:0:j_id124" class="grid-element">
<a id=".." onclick=".." href="/portal/product.vc?productId=22&cid=76"></a>
<div id="j_id86:allProductsGrid:0:j_id126" class="product-element">
<img src="/portal/content/images?id=&width=170">
</div>
<div id="title">Sample Product</div>
</div>
的結果是, a-tag不再包裝產品元素。任何人都可以給我一個關於這裏可能會出錯的提示嗎? 任何幫助表示讚賞。 在此先感謝。
喬希
PS:使用Seam 2.2.2/JSF鑽嘴魚科2.0.3/3.3.3的RichFaces
真的沒有人面臨這種影響? – joshd
您是否嘗試過更改bean的範圍?它看起來像ajax請求作爲一個新的請求縫,這就是爲什麼cid是不同的。 –