将图像显示到<p:dataTable>
时出现问题。我正在按照BalusC的说明here,但当我尝试使用context.getCurrentPhaseId()
时,如下所示,
FacesContext context = FacesContext.getCurrentInstance();
if (context.getCurrentPhaseId() == PhaseId.RENDER_RESPONSE) {
return new DefaultStreamedContent();
}
然后Eclipse在context.getCurrentPhaseId()
上显示以下编译错误:
对于FacesContext类型
,方法getCurrentPhaseId()未定义
这是如何引起的,我该如何解决? 我正在使用JSF 2和Primefaces 2.2-snapshot。
答案 0 :(得分:0)
方法getCurrentPhaseId()未定义类型FacesContext
该方法在JSF 2.0中为introduced。因此,此编译错误表明您实际上正在使用JSF 1.x或至少正在编译JSF 1.x而不是JSF 2.x.由于PrimeFaces 3.x与JSF 1.x不兼容,这反过来表明您的IDE项目在构建路径中错误地引用了JSF 1.x库,因此您实际上正在针对JSF 1.x进行编译。 / p>
检查项目的 Build Path 属性并删除该JSF 1.x库。实际上,您永远不需要在项目的 Build Path 属性中摆弄。只需设置部署程序集和/或目标运行时,和/或在/WEB-INF/lib
文件夹中删除必要的JAR就应该是您需要做的所有事情关于图书馆管理。