Exibindo imagens com JSF 1.2

7 respostas
W


Bom dia !

Estou usando JSF 1.2 com RichFaces. Preciso de um componente que faça a exibição de fotos em sequência permitindo ao usuário navegar entre elas. O PrimeFaces tem um componente que faz isso mas somente para JSF 2.0 o que ainda não podemos utilizar. Pelo que sei o PrimeFaces possui a versão 1.1 que é compatível com o JSF 1.2 mas não consegui achar para download e não sei se o referido componente já existia nesta versão. Há alguma outra opção ?

Desde já agradeço,

[]s

7 Respostas

andii.brunetta

Aqui tem o link para a versão 1.1 do PrimeFaces:
http://javasemcafe.blogspot.com/2010/10/20102010-4tads-configuracao-do.html

E pelo o que eu vi do .jar tem sim o componente imageSwitch

W

Obrigado Andii !

A informação foi valiosa. Para usar o componente imageSwitch me basei no exemplo do site do Prime :

<p:imageSwitch effect="wipe" widgetVar="switcher" slideshowAuto="false">  
36.    <ui:repeat value="#{imageSwitchBean.images}" var="image">  
37.        <p:graphicImage value="/images/#{image}" />  
38.    </ui:repeat>  
39.</p:imageSwitch>

Porém retorna o seguinte erro na view :

An Error Occurred:
com.sun.facelets.component.UIRepeat cannot be cast to org.primefaces.component.graphicimage.GraphicImage
+- Stack Trace
java.lang.ClassCastException: com.sun.facelets.component.UIRepeat cannot be cast to org.primefaces.component.graphicimage.GraphicImage
	at org.primefaces.component.imageswitch.ImageSwitchRenderer.encodeMarkup(ImageSwitchRenderer.java:89)
	at org.primefaces.component.imageswitch.ImageSwitchRenderer.encodeEnd(ImageSwitchRenderer.java:39)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:861)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:242)
	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:180)
	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:127)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
	at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277)
	at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
	at org.richfaces.renderkit.html.ModalPanelRenderer.doEncodeChildren(ModalPanelRenderer.java:368)
	at org.richfaces.renderkit.html.ModalPanelRenderer.doEncodeChildren(ModalPanelRenderer.java:363)
	at org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:120)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
	at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
	at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:706)
	at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:677)
	at org.apache.jsp.index_jsp._jspService(index_jsp.java:56)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:112)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:619)

Este exemplo é da versão 2.x em diante. Para a versão 1.1 deve ser feito de outra forma ?

andii.brunetta

Olá!
Esse exemplo aí precisa de uma lista de imagens vinda de um bean…
Para facilitar, tambem tenho uma postagem sobre ImageSwitch mas na versão 2.2.1
No meu exemplo é diferente, eu não passo uma lista de imagens, mas defino as imagens estaticamente com o p:graphicImage
O código é o seguinte:

&lt;p:imageSwitch effect="shuffle" widgetVar="imagens" slideshowAuto="true"&gt; &lt;p:graphicImage value="nature1.jpg" /&gt; &lt;p:graphicImage value="nature2.jpg" /&gt; &lt;p:graphicImage value="nature3.jpg" /&gt; &lt;p:graphicImage value="nature4.jpg" /&gt; &lt;/p:imageSwitch&gt;
as imagens nature1.jpg e as outras, para este exemplo devem ficar na raiz das páginas web.
Caso queira ver mais componentes, segue o link:

W

Oi Andii. Mais uma vez obrigado por me ajudar.

Eu consegui fazer a exibição de imagens estáticas sem utilizar a tag <ui:repeat …. Estou usando Jsf 1.2 , RichFaces , PrimeFaces (somente o componete em questão pois o Rich não tem) e Facelets. Se eu coloco a tag <ui:repeat a página não é renderizada.
Na realidade preciso que o componente exiba as imagens vindas do banco e que estão em um lista. Ainda não sei como fazer isso mas estou fazendo por partes. Já me sugeriram trocar <ui:repeat por <forEach… do JSTL mas sem sucesso. Vc tem alguma sugestão.

Muito obrigado.

[]s

andii.brunetta

Olá wmaciel!
Que eu me lembre só são esses dois mesmo, mas se eu souber ou lembrar de alguma coisa eu volto aqui pra postar.

W

Ok

Gostei do seu Blog. Vou adicionar aos favoritos.

[]s

andii.brunetta

wmaciel:
Ok

Gostei do seu Blog. Vou adicionar aos favoritos.

[]s

Se quiser me seguir no Twitter também @andiibrunetta … quando crio novas postagens informo por lá :smiley:
:lol:

Criado 12 de maio de 2011
Ultima resposta 18 de mai. de 2011
Respostas 7
Participantes 2