簡體   English   中英

primefaces 4.0 p:graphicimage defaultstreamedcontent不呈現

[英]primefaces 4.0 p:graphicimage defaultstreamedcontent does not render

我正在使用Primefaces 5.0,JSF 2.0,Weblogic 10.3(11g),J2ee 5。

當我使用p:graphicImage渲染來自bean的流內容時,我注意到日志中的ajaxresponse異常,最后是下面的el異常。 是否添加了el2.0來解決此問題,如果是的話,那么我不確定是否只能將el2.0添加到我的項目中,因為我不想將其添加到Weblogic的域文件中。 請幫忙。

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)    

下面是我的代碼

<p:graphicImage value="#{lev.viewFile}" width="300" cache="false">

                                                        <f:param name="id" value="#{lev.levId}" />

                                                    </p:graphicImage>

下面是我的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM