【发布时间】:2012-05-31 07:44:30
【问题描述】:
我正在寻找有关如何处理重新渲染数据网格的奇怪效果的提示。我有以下网格结构:
<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>
网格在搜索输入字段触发的 onkeyup 事件上重新渲染。到目前为止还没有魔法。现在的问题是重新渲染改变了生成的 html (DOM) 的结构。结果,这些链接不再起作用了。
页面第一次渲染的firebug-html-inspect如下:
<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 不再包装 product-element。谁能给我提示一下这里可能出了什么问题? 任何帮助表示赞赏。 提前致谢。
乔希
ps:使用 Seam 2.2.2 / JSF Mojarra 2.0.3 / RichFaces 3.3.3
【问题讨论】:
-
真的没有人面临这种影响吗?
-
您是否尝试过更改 bean 的范围?尽管该 ajax 请求看起来像是一个新请求,但这就是 cid 不同的原因。
标签: datagrid jboss richfaces seam ajax4jsf