[英]primefaces 4.0 p:graphicimage defaultstreamedcontent does not render
I am using Primefaces 5.0, JSF 2.0, Weblogic 10.3(11g), J2ee 5. 我正在使用Primefaces 5.0,JSF 2.0,Weblogic 10.3(11g),J2ee 5。
When i use p:graphicImage to render streamed content from my bean,i notice an ajaxresponse exception in the logs and finally and el exception which is below. 当我使用p:graphicImage渲染来自bean的流内容时,我注意到日志中的ajaxresponse异常,最后是下面的el异常。 Is adding el2.0 an option to solve this, if yes then i am not sure if i can add el2.0 only to my project, as i dont want to add it to the domain files of Weblogic.
是否添加了el2.0来解决此问题,如果是的话,那么我不确定是否只能将el2.0添加到我的项目中,因为我不想将其添加到Weblogic的域文件中。 Please help.
请帮忙。
java.lang.NoClassDefFoundError: javax/el/ValueReference
at org.primefaces.el.InterceptingResolver.setValue(InterceptingResolver.java:28)
at com.sun.el.parser.AstValue.setValue(Unknown Source)
at com.sun.el.ValueExpressionImpl.setValue(Unknown Source)
at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:131)
at org.primefaces.el.ValueExpressionAnalyzer.getExpression(ValueExpressionAnalyzer.java:49)
at org.primefaces.util.DynamicResourceBuilder.build(DynamicResourceBuilder.java:49)
at org.primefaces.component.graphicimage.GraphicImageRenderer.getImageSrc(GraphicImageRenderer.java:74)
at org.primefaces.component.graphicimage.GraphicImageRenderer.encodeEnd(GraphicImageRenderer.java:40)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:884)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:85)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:68)
at org.primefaces.component.overlaypanel.OverlayPanelRenderer.encodeMarkup(OverlayPanelRenderer.java:59)
at org.primefaces.component.overlaypanel.OverlayPanelRenderer.encodeEnd(OverlayPanelRenderer.java:37)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:884)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:85)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:68)
Below is my code 下面是我的代码
<p:graphicImage value="#{lev.viewFile}" width="300" cache="false">
<f:param name="id" value="#{lev.levId}" />
</p:graphicImage>
Below is my bean code which is viewscoped... 下面是我的bean代码,它是viewscoped ...
public StreamedContent getViewFile() {
try{
File viewfileobj = new File("C:/LEAVEMODULEFOLDER/p1.jpeg");
log.debug("viewfileobj.length() = "+viewfileobj.length());
InputStream stream = new FileInputStream(viewfileobj);
log.debug("stream = "+stream);
this.viewFile = new DefaultStreamedContent(stream,"image/jpeg",Utility.getRandomString());
}catch(Exception e){
log.error("Error in Leave.toString() ::"+e);
log.error(Utility.getStackTrace(e));
}
return viewFile;
}
将视图范围更改为会话范围应该起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.