我有很多嵌套的<ui:repeat>
标签,我必须定期更新内部数据。因此我使用a4j:poll。但是要更新嵌套<ui:repeat>
标记内的数据,我必须在第一个(根)<div id="div1">
标记之前刷新<ui:repeat>
标记。我的问题是,在嵌套的''标签中,有些图像不会改变,并且在调用每个动作(<a4j:poll action="#{bean.update} render="div1"/>
)之后,这些图片会被重新加载。在IE和Firefox中没有问题,图片和div是缓存,只有数据更改。在Chrome中,重新加载嵌套在<div id="div1">
中的所有div和图像。我可以告诉a4j:poll不重新加载图片宽度显式ids或让Chrome用JavaScript或其他东西缓存它们吗?例如:
<h:body>
<h:panelGroup layout="block" id="div1">
<ui:repeat value="#{bean.someListData}" var="data">
<ui:repeat value="..." var="...">
...
<img id="mustNotBeReloaded"/>
<h:outputText id="mustBeReloaded"/>
...
</ui:repeat>
</ui:repeat>
</h:panelGroup>
<h:form>
<a4j:poll action="#{bean.update}" render="div1"/>
</h:form>
</h:body>
答案 0 :(得分:1)
我通过在图像请求上设置响应标题来解决此问题:
response.setHeader("Cache-Control", "max-age=" + 100000);