1

我正在使用 primeFaces 在它的 detailView 中显示系列的封面图像。我的问题是,它总是显示相同的图片,除非我刷新缓存(Chrome 中的 Strg+F5)。

我显示图片的代码如下

<ui:define name="content">
    <h:body>
        <f:view>
            <h:form>
                <h1>#{seriesController.selectedSeries.name}</h1>
                <p:graphicImage value="#{coverController.getFirstCoverOfSeries(seriesController.selectedSeries.id)}"/>
                [Here are some fields...]
            </h:form>
        </f:view>
    </h:body>
</ui:define>

我已经手动检查了我的控制器 - 它可以很好地加载封面,但 primeFaces 无法正确显示它(控制器返回具有 byte[] 和正确类型的 DefaultStreamedContent)。我见过一些人使用<f:param>为加载图片的方法提供参数。

我真的很感激一些帮助 - 有<p:graphicImage>一些怪癖还是我只是用错了?

4

1 回答 1

5

如文档中所述,默认情况下p:graphicImage是缓存,您必须添加cache="false"才能强制刷新。

更多信息

于 2014-09-07T14:16:38.067 回答