On tomcat 6.0.26, primefaces 2.1RC1, mojarra 2, this code
Code: Select all
<p:imageSwitch effect="FlyOut" slideshowAuto="false">
<ui:repeat var="imagePath" value="#{testBean.listTest}">
<p:graphicImage value="#{imagePath}" />
</ui:repeat>
</p:imageSwitch>
Code: Select all
exception
javax.servlet.ServletException: com.sun.faces.facelets.component.UIRepeat cannot be cast to org.primefaces.component.graphicimage.GraphicImage
javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
root cause
java.lang.ClassCastException: com.sun.faces.facelets.component.UIRepeat cannot be cast to org.primefaces.component.graphicimage.GraphicImage
org.primefaces.component.imageswitch.ImageSwitchRenderer.encodeMarkup(ImageSwitchRenderer.java:90)
org.primefaces.component.imageswitch.ImageSwitchRenderer.encodeEnd(ImageSwitchRenderer.java:40)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1620)
javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:848)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1613)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:380)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:273)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
And this won't work too. If i have all 800px * 600px images, using "width" on p:graphicImage doesn't work, so this code basically give a imageSwitch with all images on their original size:
Code: Select all
<p:imageSwitch effect="FlyOut">
<p:graphicImage value="image1.jpg" width="400"/>
<p:graphicImage value="image2.jpg" width="400"/>
</p:imageSwitch>
Thanks a lot