Há algum tempo vinha procurando uma solução para fazer upload de arquivo no JSF2 no escopo de conversação.
Existem vários sites que mostram como fazer upload de arquivo no JSF{1,2}, porém nenhum deles leva em consideração o escopo de conversação: http://forums.sun.com/thread.jspa?threadID=5399669, http://ironicprogrammer.blogspot.com/2010/03/file-upload-in-jsf2.html, http://dominikdorn.com/?p=169, http://balusc.blogspot.com/2009/12/uploading-files-with-jsf-20-and-servlet.html
Além destes sites também vi uma solução no livro Core Java Server Faces 3ª edição, no entanto nesta solução o mesmo problema existia. Ao submeter um arquivo, enquanto no escopo de conversação, o escopo era simplesmente destruído.
Entrei em contato com os diversos autores para verificar se eles me davam uma luz, pois ainda sou bastante cru para mexer com filtros em JSF. Algum tempo depois recebi a resposta do autor do Core Java Server Faces, o Cay Horstmann, que me sugeriu olhar como o Seam resolvia o problema, pois esta foi a tecnologia pioneira do escopo de conversação.
Ele me deu esse conselho no dia 30 de Junho, mas apenas hoje consegui finalizar a implementação.
Primeiro olhei o código do RichFaces, pois ele que contém o componente de file upload e então percebi que ele não implementava o filtro, que é o componente que analisa a requisição e processa os cabeçalhos para extrair o arquivo e os outros elementos da requisição. Descobri que quem fazia isso era o próprio Seam.
Coloquei no liquidificador a implementação do Seam e do Cay Horstmann e o sabor ficou muito bom, um componente de upload de arquivos simples e que funciona no escopo de conversação. Pefeito!
Porém não me peça para explicar porque o filtro do Seam funciona para salvar a conversação, ainda não consegui entender, mas se você souber, ficaria muito satisfeito em ouvir.
O projeto do NetBeans que criei pode ser baixado através do seguinte link: http://sites.google.com/site/cerdiogenes/java/jsf2/fileupload.zip?attredirects=0
Nele não existe nenhum tipo de validação, mas pretendo começar a trabalhar nisso em breve, pois vou precisar integrá-lo em um sistema e os requisitos se tornam mais específicos. Que venham os problemas então! E que sejam fáceis de resolver :D
Mostrando postagens com marcador Web. Mostrar todas as postagens
Mostrando postagens com marcador Web. Mostrar todas as postagens
segunda-feira, 26 de julho de 2010
sexta-feira, 4 de setembro de 2009
Mate o IE6
A algum tempo diversos sites passaram a apoiar a campanha "Mate o IE6". Basta você fazer uma busca por este tema no Google e vai encontrar diversas páginas.
Bem, porque estou fazendo este post? Acabei de olhar as estatística do blog e o IE6 subiu para o segundo lugar nos browser mais usados e provavelmente muito em breve será o primeiro, sendo assim, eu peço aos visitantes que passam por aqui: considerem atualizar seus browsers!
Existem apenas vantagens em se fazer isso: browsers mais seguros, modernos e compatíveis com padrões. Este último item pode não ser muito relevante para você, mas pode ter certeza, vai melhorar cada vez mais a vida dos programadores web.
Agora me diga uma coisa, quantos serviços web você usa hoje em dia? Pode ter certeza que esse número de serviços só vai aumentar, então faça um favor para os desenvolvedores poderem concentrar-se mais nos serviços e menos nos problemas do IE6: mate-o!
Bem, porque estou fazendo este post? Acabei de olhar as estatística do blog e o IE6 subiu para o segundo lugar nos browser mais usados e provavelmente muito em breve será o primeiro, sendo assim, eu peço aos visitantes que passam por aqui: considerem atualizar seus browsers!
Existem apenas vantagens em se fazer isso: browsers mais seguros, modernos e compatíveis com padrões. Este último item pode não ser muito relevante para você, mas pode ter certeza, vai melhorar cada vez mais a vida dos programadores web.
Agora me diga uma coisa, quantos serviços web você usa hoje em dia? Pode ter certeza que esse número de serviços só vai aumentar, então faça um favor para os desenvolvedores poderem concentrar-se mais nos serviços e menos nos problemas do IE6: mate-o!
Assinar:
Postagens (Atom)