【发布时间】:2016-10-10 11:31:40
【问题描述】:
我在 Weblogic11g、JSF2.0、Servlet 2.5 上使用 Primefaces 6.0。
我的应用程序能够使用 Primefaces 5.3 渲染动态 jpeg 图像。一旦我迁移到 6.0,我的动态 p:graphicImages 就会给出与 el 相关的 NoSuchMethodError。
PrimeExceptionHandler 日志异常
javax.el.ValueExpression.getValueReference(Ljavax/el/ELContext;)Ljavax/el/ValueReference; java.lang.NoSuchMethodError: javax.el.ValueExpression.getValueReference(Ljavax/el/ELContext;)Ljavax/el/ValueReference; 在 org.primefaces.el.ValueExpressionAnalyzer.toValueReference(ValueExpressionAnalyzer.java:91) 在 org.primefaces.el.ValueExpressionAnalyzer.getExpression(ValueExpressionAnalyzer.java:44) 在 org.primefaces.util.DynamicResourceBuilder.build(DynamicResourceBuilder.java:58) 在 org.primefaces.component.graphicimage.GraphicImageRenderer.getImageSrc(GraphicImageRenderer.java:75) 在 org.primefaces.component.graphicimage.GraphicImageRenderer.encodeEnd(GraphicImageRenderer.java:41) 在 javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:884) 在 javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681) 在 javax.faces.render.Renderer.encodeChildren(Renderer.java:168) 在 javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:854) 在 org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:85) 在 org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:72) e
@ManagedBean(name="filebean")
@RequestScoped
public class FileBean {
private StreamedContent image;
public StreamedContent getImage() {
try {
File file = new File("C:/LEAVEMODULEFOLDER/569_q318d09lou9mafbqsdgsqph1ar_cbblogopng.jpg");
System.out.println(""+file.canRead());
image = new DefaultStreamedContent(new FileInputStream(file), "image/jpeg");
} catch (Exception e) {
log.error("Error in ::" + e);
log.error(Utility.getStackTrace(e));
}
return this.image;
}
}
xhtml代码如下
<p:graphicImage value="#{filebean.image}" />
【问题讨论】:
-
您是否查看了发行说明/迁移指南?
-
是的,我做到了,但除了更改 primefaces jar 文件外,没有发现任何与我相关的内容。
-
任何可以提供帮助的线索?
标签: primefaces