pe:imageRotateAndResize不使用p:graphicImage cache = false

时间:2015-11-10 10:50:31

标签: jsf-2 primefaces jsf-2.2 primefaces-extensions

我正在使用primefaces扩展来缩放和旋转图像:

<p:graphicImage id="imageViewerId" value="#{contentBL.inlineContent}" cache="false" />
<pe:imageRotateAndResize id="rotateAndResizeImageId" for="imageViewerId" widgetVar="rotateAndResizeVar" />

<p:commandButton title="Rotate Left" icon="fa fa-mail-reply"
                            onclick="PF('rotateAndResizeVar').rotateLeft(90); adjustContentViewerSize(); return false;" />
<p:commandButton icon="fa fa-mail-forward" title="Rotate Right"
                            onclick="PF('rotateAndResizeVar').rotateRight(90); adjustContentViewerSize(); return false;" />
<p:commandButton icon="fa fa-plus-circle" title="Scale +"
                            onclick="PF('rotateAndResizeVar').scale(1.1); adjustContentViewerSize(); return false;" />
<p:commandButton icon="fa fa-minus-circle" title="Scale -"
                            onclick="PF('rotateAndResizeVar').scale(0.9); adjustContentViewerSize(); return false;" />

不幸的是,仅当cache的{​​{1}}属性为p:graphicImage时才有效。如果设置为true,则单击旋转或缩放按钮时不会发生任何操作。 false发送#{contentBL.inlineContent}。有没有办法让这个工作没有缓存图像?我正在使用primefaces 5.3.0和primefaces扩展4.0.0和mojarra 2.2.12。

1 个答案:

答案 0 :(得分:0)

将网址设为唯一f:param作为解决方法:

<p:graphicImage id="imageViewerId" value="#{contentBL.inlineContent}" cache="true">             
    <f:param name="customid" value="#{contentBL.generateUuid()}" />
</p:graphicImage>