Marcos Sousa’s Blog

Blog sobre desenvolvimento de software
  • rss
  • Home
  • Sobre

Incompatibilidades do componente RichFaces: rich:fileUpload

Marcos Sousa | May 4, 2008

Estes últimos dias estive testando o componente “rich:fileUpload“. O componente é bastante interessante, porém é bastante sensível. Encontrei incompatibilidades com componentes do próprio richfaces, do myfaces e com o seam framework.

Até o momento verifiquei que usar o componente “rich:fileUpload” dentro do componente “rich:simpleTogglePanel”. Todos os testes que eu realizei ele não chama o evento definido em fileUploadListener. Até onde eu percebi me parece que o parâmetro que o “rich:fileUpload” usa para controlar o envio dos arquivos é perdido quando ele está dentro do “rich:simpleTogglePanel“.

Outro problema do componente é a incompatibilidade da versão 3.2.0 com o Seam Framework. Seguindo um comportamento semelhante ao do problema acima o evento definido no fileUploadListener não é chamado. Pelo que eu vi no JIRA havia problemas com o ciclo de vida do Seam, porém estes problemas já foram solucionados.

Havia também problemas com o envio de diversos arquivos ao mesmo tempo. Todos estes problemas também foram corrigidos.

A dica é: se você estiver usando o Seam Framework e o RichFaces 3.20 e pensar em usar o rich:fileUpload, atualize para as versões:
Seam 2.0.2 Cr1 (ou superior)
RichFaces 3.2.1 (Sugiro pegar a versão mais recente)
API
Implementação
User Interface

Categories
Java, Java EE, Java Server Faces, Jboss Seam, RichFaces
Tags
incompatiblidades, Jboss Seam, Rich Faces, rich:fileUpload, rich:simpleTogglePanel, RichFaces, RichFaces 3.2, Seam Framework
Comments rss
Comments rss
Trackback
Trackback

« Vídeo Aula Jboss Seam: Seam Gen parte 3 Brasileiros se destacam no JavaOne »

21 Responses to “Incompatibilidades do componente RichFaces: rich:fileUpload”

  1. Anderson says:
    May 27, 2008 at 4:08 pm

    Marcos,

    Estamos tentando migrar para a versão 3.2.0 e simplesmente quando temos caracteres com acentuação o mesmo não funciona. Você tem alguma aplicação UTF-8 funcionando na nova versão?

    Grato,

    Anderson

    Reply
  2. marcossousa says:
    May 27, 2008 at 4:22 pm

    Tem uma aplicação não tenho, mas acho que já que você tem uma aplicação que usa acentuação gráfica, o mais sensato de ser feito é mudar a codificação para iso-8859. Assim você evitará falhas com caracteres especiais.

    Reply
  3. Ivonaldo torres says:
    December 7, 2008 at 2:46 pm

    Oi amigo estou usando o richFaces 3.2.1 e estou e estou com problema com fileUpload, quando faço o upload ele salva o arquivo não abria e ficava com um nome bem diferente, vc tem algum exemplo de upload com Bean, que possa me ajudar?
    Valeu!!!

    Reply
  4. Marcos Sousa says:
    December 15, 2008 at 9:07 pm

    Ivonaldo,

    O nome geralmente fica correto, no linux se eu não me engano só contém o nome do arquivo e no Windows ele carrega o caminho completo.

    Quanto ao exemplo é o próprio exemplo do RichFaces, dê uma olhada no projeto dentro do SVN (http://anonsvn.jboss.org/repos/richfaces/tags/3.2.2.SR1/samples/fileUploadDemo).

    Reply
  5. wellington says:
    April 3, 2009 at 11:48 pm

    Olá colega,
    Estou usando o file upload do Rich e preciso enviar alguns parâmetros junto com o arquivo dentro de um formulário. Tenho enfrentado problemas, pois o envio do formulário trabalha de forma independente do file upload. VocÊ saberia resolver este desafio?
    Obrigado!!

    Reply
  6. Marcos Sousa says:
    April 4, 2009 at 8:21 pm

    Wellington,

    Este componente não suportar o envio de parâmetros, você terá que encontrar um meio termo neste sentido, talvez submeter estes parâmetros após enviar o arquivo.

    Abraços,

    Reply
  7. Thiago Lima says:
    April 10, 2009 at 11:00 pm

    Olá amigo, tudo bem?

    Estou precisando fazer uma implementação de upload de fotos e queria usar o FileUpload. O problema é que estou com o seguinte erro:

    Tag Library supports namespace: http://richfaces.org/rich, but no tag was defined for name: fileUpload

    Uso RichFaces 3.1.5.GA Tem algum problema?

    Abraços

    Reply
  8. Marcos Sousa says:
    April 17, 2009 at 11:57 pm

    @Thiago

    O problema é simples, o FileUpload foi adicionado na versão 3.2. Basta atualizar a versão.

    ;)

    Reply
  9. rafael salerno says:
    May 6, 2009 at 4:38 pm

    E ai cara,

    seguinte to tenta usa o rich:fileUpload e quando eu coloco ele abaixo ele ta um pau muito bizonho.
    Não entendi qual o problema e até quanto tem a ver com isso do dataTable, se vc souber me da uma luz ai valew.
    segue:
    java.lang.NullPointerException
    at org.richfaces.renderkit.FileUploadRendererBase.initMaxFilesCount(FileUploadRendererBase.java:184)

    Reply
  10. rafael salerno says:
    May 6, 2009 at 4:39 pm

    opa deu problema ali no outro
    E ai cara,

    seguinte to tenta usa o rich:fileUpload e quando eu coloco ele abaixo de um dataTable ele ta um pau muito bizonho.
    Não entendi qual o problema e até quanto tem a ver com isso do dataTable, se vc souber me da uma luz ai valew.
    segue:
    java.lang.NullPointerException
    at org.richfaces.renderkit.FileUploadRendererBase.initMaxFilesCount(FileUploadRendere

    Reply
  11. Marcos Sousa says:
    May 7, 2009 at 8:28 am

    @Rafael

    Você está colocando o componente dentro de um h:dataTable? Se sim, tenha em mente que a lista responsável por montar a tabela deve ter o mesmo resultado durante a restauração.

    A idéia é usar este componente com bastante moderação, pois ele possui certa complexidade.

    Reply
  12. rafael salerno says:
    May 8, 2009 at 12:07 pm

    cara to colocando o fileUpload apos o rich:dataTabel
    tipo, quando fecho a table abaixo eu coloco ele.
    ex:

    ai da esse problema , testei em outra tela e com o mesmo eskema e deu tbm.
    to usando o richfaces 3.3

    Reply
  13. Marcos Sousa says:
    May 12, 2009 at 10:42 am

    @Rafael,

    Você testou remover o dataTable para ver se funciona. Talvez é o seu componente que está configurado incorretamente. Se você estiver usando EL para a quantidade máxima de uploads, verifique se ela está retornando um número válido.

    Abraços,

    Reply
  14. Marcelo Tilli says:
    July 3, 2009 at 2:56 pm

    Bom dia. Tenho um problema no fileUpload. Estou usado o RF 3.3.0. Se eu coloco um maxFilesQuantity=”2″, carrego 2, ele desabilita o botão de adicionar arquivos. Se eu clicar no limpar, o botão de adicionar continua desabilitado. Não consigo reabilitar esse botão. Mesmo setando uma variavel no maxFilesQuantity para ser zerada na hora do limpar eu tive sucesso.
    Obrigado..

    Reply
  15. João Paulo says:
    September 21, 2009 at 2:19 pm

    cara, estou tentando usar duas vezes o componente rich:fileupload na mesma pagina, e ao executar um, ele executa os dois, não consigo executar um só, pra adicionar arquivo utilizando somente um deles, o outro executa também e adiciona um arquivo null, nao sei se me expliquei muito bem, se nao tiver entendido me fale, se puder me ajudar melhor ainda
    abraço

    ps.: na página há a utilização do rich:simpletoglepanel, mas o fileupload não está dentro dele.

    Reply
  16. Marcos Sousa says:
    September 21, 2009 at 2:37 pm

    @João Paulo,

    Bom, o que você pode tentar fazer é colocar cada um destes componentes em um formulário diferente.

    Abraços,

    Reply
  17. João Paulo says:
    September 21, 2009 at 2:40 pm

    estou começando a trabalhar nessa area agora, um formulario diferente pra cada um seria cada um dentro de um h:form ?

    Reply
  18. João Paulo says:
    September 21, 2009 at 2:46 pm

    se for isso entao eu tentei e não deu certo, pois agora nem chamando o método listener está

    Reply
  19. Sidnei Carneiro says:
    September 30, 2009 at 4:27 pm

    Olá Marcos, estou com um problema com o fileUploadListener que não é chamado, mas não estou usando rich:simpleTogglePanel, o fileUpload está dentro de panelGrid, rich:panel, a4j:form e f:view. será que é incompatibilidade?

    Reply
  20. Carlos says:
    February 2, 2010 at 3:32 pm

    Olá!
    Encontrei o seu artigo, muito bom! Me ajudou há uns meses atrás! Acontece que agora estava tentando integrar um componente de upload+crop de imagens com a minha aplicação seam e não to conseguindo! O componente é o MultiPowUpload (http://www.element-it.com/multiple-file-upload/flash-uploader.aspx). Acontece que o script jsp que eles fornecem não corre no Seam. Será que você me pode dar uma dica de como integrar?
    Valeu!

    Reply
    • Marcos Sousa says:
      February 19, 2010 at 1:11 pm

      Oi Carlos,

      Bom você pode partir do princípio de que todos estes componentes sobrescrevem o request para gerenciar o recebimento de arquivos. Sugiro que você olhe tanto o filtro do richfaces ou deste componente que você quer usar e desabilitar tal funcionalidade.

      Reply

Leave a Reply

Click here to cancel reply.

Núvens de tags

Agile Eventos Facelets GET Hibernate incompatiblidades Itext Java Java EE Java Magazine Java Server Faces JavaServer Faces Java Vídeo Magazine Jboss jboss-seam-itext Jboss Developer Studio Jboss Seam JDBC type: 7 JPA JSF linux mare marébh maré de agilidade Microsoft No Dialect mapping for JDBC type: 7 Page Actions PostGreSQL RHDS rich:fileUpload RichFaces Rich Faces RichFaces 3.2 Scrum Seam-gen Seam Framework Seam PDF Spring Spring Framework TDD URL Rewrite URL User Friendly Variable Resolver Vídeo Aula XP

Meus últimos tweets

  • Great article about the importance of sleeping. http://t.co/vfFyS1ri 1 day ago
  • Aos participantes do Bhjs que gostariam de vir para a Globo.com, segue as outras vagas http://t.co/KjBinf4x #bhjs #beagajs 2 weeks ago
  • Se você precisa buscar dado no disco, prefira assíncrona @luciano #bhjs #beagajs http://t.co/5gCHp7P8 2 weeks ago
  • @DouglasAguiar @HerberthAmaral Porque na copa? 2 weeks ago
  • Slides da palestra 'Indo além com jQuery' #bhjs #beagajs http://t.co/wHbhaI75 2 weeks ago
  • @araujolucas na parte da frente a temperatura está melhor 2 weeks ago
  • Começando a palestra do @cmilfont no #bhjs #beagajs http://t.co/9DZt7MQj 2 weeks ago
  • @isaias_barroso @DeivissonBruno @cmilfont gula ao extremo:) 2 weeks ago
  • Palestra com insights do desenvolvimento do paparazzo #gcom #bhjs #beagajs http://t.co/7igVbtmS 2 weeks ago
  • @flavio1110 energético? 2 weeks ago

Anúcios

Categorias

  • .net
  • Agile
  • Agile Conference 2009
  • Artigos
  • Atualidades
  • c++
  • cinema
  • Django
  • DRY
  • Eventos
  • Flex
  • Formula 1
  • Hibernate
  • IDE
  • Inutilidades
  • Java
  • Java EE
  • Java Server Faces
  • Jboss Seam
  • linux
  • Mac OS
  • Microsoft
  • Open-source
  • Palestras
  • Python
  • RAD
  • RIA
  • RichFaces
  • Scrum
  • Software Livre
  • Spring
  • Spring Annotations
  • TDD
  • Testes
  • Uncategorized
  • Vídeo Aulas

Links recomendados

  • AJ Soluções
  • Ary Júnior
  • Erko Bridee
  • Fragmental
  • Fragmental TW
  • Guilherme Chapiewski
  • Handerson Frota
  • Jeveaux
  • Juliano Carniel
  • Onipresente
  • Passes de Letra
  • PortalJava.com
  • Rafael Carneiro
  • Rafael Pontes

DevMedia Post’s

Get Adobe Flash playerPlugin by wpburn.com wordpress themes
rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox