【发布时间】:2014-02-25 05:07:20
【问题描述】:
这是我使用 primefaces 4.0 通信版本的 firefox 问题:p:graphicImage 我有一个模型列表,每当我单击 1 个项目时,我想分别获得 1 个图像 在 xhtml 文件中
<p:fieldset id="modelDiagramView" style="width:100%;height:1280px">
<p:panel id="panel">
<p:graphicImage value="#{modelBean.modelImage}" style="width: 100%;" cache="false"/>
</p:panel>
</p:fieldset>
在java bean中,只有会话作用域和应用作用域运行良好
public StreamedContent getModelImage() {
FacesContext context = FacesContext.getCurrentInstance();
if (context.getCurrentPhaseId() == PhaseId.RENDER_RESPONSE) {
System.out.println("render_response: id=" + modelID);
// So, we're rendering the HTML. Return a stub StreamedContent so
// that it will generate right URL.
// modelImage = new DefaultStreamedContent();
if (modelID != null)
getModelImage(modelID);
} else {
System.out.println("real reander: id=" + modelID);
if (modelID != null)
getModelImage(modelID);
}
return modelImage;
}
在 chrome 中,当我单击列表中的项目时,p:graphicImage 将呈现一个新图像,但是在 Firefox 中,只会呈现第一个项目的图像,如果我想显示下一个单击的项目,我必须刷新浏览器(F5)。它是primefaces错误,我该如何防止这个问题?请帮帮我
【问题讨论】:
-
要使用primefaces在图像中显示,请遵循Balcus stackoverflow.com/questions/10073905/…的这个答案
-
嗨,你能解决这个问题吗,我也遇到了同样的问题,即使我在图形图像中设置了缓存 = false。这在IE和Firefox中都可以重现
-
不,不是全部。我必须使用 2 个控制器,一个使用 SessionScope 来显示图像。
标签: firefox primefaces graphicimage