In jsf1.2, I was able to display dynamic image of byte[] into
<h:graphicImage>.
Now I migrated to JSF2.0, but this does not display the image and throws :
java.lang.ClassCastException: [B cannot be cast to java.lang.String
at
com.sun.faces.renderkit.RenderKitUtils.getImageSource(RenderKitUtils.java:1303)
at
com.sun.faces.renderkit.html_basic.ImageRenderer.encodeEnd(ImageRenderer.java:96)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
at org.richfaces.renderkit.RendererBase.renderChildren(RendererBase.java:276)
at
org.richfaces.renderkit.html.PanelRenderer.encodeEnd(PanelRenderer.java:181)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
at org.richfaces.renderkit.RendererBase.renderChildren(RendererBase.java:276)
at
org.richfaces.renderkit.html.PanelRenderer.encodeEnd(PanelRenderer.java:181)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
Caused by: java.lang.ClassCastException: [B cannot be cast to
java.lang.String
at
com.sun.faces.renderkit.RenderKitUtils.getImageSource(RenderKitUtils.java:1303)
at
com.sun.faces.renderkit.html_basic.ImageRenderer.encodeEnd(ImageRenderer.java:96)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
at org.richfaces.renderkit.RendererBase.renderChildren(RendererBase.java:276)
at
org.richfaces.renderkit.html.PanelRenderer.encodeEnd(PanelRenderer.java:181)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
at org.richfaces.renderkit.RendererBase.renderChildren(RendererBase.java:276)
at
org.richfaces.renderkit.html.PanelRenderer.encodeEnd(PanelRenderer.java:181)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
at
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
at
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
at
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
at
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
at
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
... 36 more
Please suggest a solution to this. I do not want to use primefaces or
servlets.
--
[Message sent by forum member 'bangalore']
View Post: http://forums.java.net/node/884409