简体   繁体   中英

primefaces 4.0 p:graphicimage defaultstreamedcontent does not render

I am using 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. 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. 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...

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;

}

将视图范围更改为会话范围应该起作用。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM