POPUP JSF ou PrimeFaces

Caríssimos, eu andei vasculhando aqui no forum e não achei nada, então vamos ver se derrepente alguém tem alguma solução.

Eu estou dando manutenção em um projeto WEB feito em primefaces e surgiu a seguinte demanda. Implementar um pop up que vai reinderizar/exportar um PDF.

Oque eu estou tentando fazer:

Eu fiz um pop up usando um javascript. O problema é que eu não sei como passar os dados do bean do formulário pai para dentro do popup. Me sugeriram usar uma servlet para reinderizar o pdf no popup mas eu acho que é como se eu estivesse usando VB na minha aplicação, ou seja, acho q vai ficar porco.

Eu queria saber se tem algum jeito de passar um bean para um popup e sem usar javascript(window.open), tudo com componentes jsf ou prime?! Eu vi um componente do primefaces que se chama ligthbox, mas ele não parece funcionar na minha aplicação. Não sei se é biblioteca ou outra coisa, mas qndo eu chamo o ligthbox a tela fica toda preta e não faz mais nada. Já tentei debugar mas não cheguei a conclusão nenhuma de erro.

Se alguém souber de alguma coisa, eu ficaria extremamente grato!

Procure o componente dialog do primefaces, deve atender a sua necessidade.

Opa!
Valeu carinha, é que eu me esqueci de dizer uma coisa. Eu estou tentando acessar o PDF reinderizado via iframe, e o ligthbox me provê exatamente isso.

Ele tem uma propriedade chamada iframe=“true/false” que permite usar o componente anexando um iframe ou não, e no meu caso, eu quero usar justamente o iframe!

Mas vou tentar usar esse componente.

Valeu!

Você tentou usar também o primefaces dataexporter?

ele é bem facil de manipular:

http://www.primefaces.org/showcase-labs/ui/exporterHome.jsf

Opa fabiozanardi, valeu mesmo, mas a solicitação não se aplica a tabelas, são informações soltas da tela(parece bizarro, mas é isso mesmo).

Na verdade, eu já até consegui reinderizar um PDF do jeito que eu preciso(usando session e javascript), mas o que eu queria mesmo era usar o ligthbox para deixar mais padronizado, afinal eu estou usando componentes do prime e acho meio “feio” usar js no meio enquanto eu tenho disponível o uso dos componentes do prime.

Mas valeu essa informação. O DataExporter é bem bacana mesmo, mas não vai me ajudar pq dentro dessa demanda o pessoal tb pediu para apresentar um “preview” em PDF e depois de apresentar o preview a pessoa teria a opção de exportar o conteúdo para PDF ou Excel ou CSV, por isso a necessidade de um “PopUp”, entendeu!? Caso vc tenha alguma solução para toda essa solicitação, eu agradeço.

Valeu!

Se voce consegue gerar o arquivo do pdf no servidor, pode demonstrar ele como uma imagem através do ligthbox, acredito eu que seja relativamente simples de fazer isso com o prime, mas em ultimo caso, voce pode criar um código customizado como faria com html e colocar em uma dialog que lhe dá mais liberdade que o lightbox

Joinha cleciusjm, valeu a dica.

Mas como eu disse, eu tentei usar o lightbox. O problema é que ele parece estar com algum bug q eu não estou conseguindo resolver. Quando eu chamo o evento dele, a tela fica toda preta e não carrega o iframe que eu estou tentando chamar, e pior de tudo, ele não estoura erro nem nada!

Eu não manjo muito de componentes visuais para web, por isso que se alguém souber de uma outra solução parecida com o lightbox, e pudesse me dizer, iria me ajudar pra caramba!

Valeu carinhas!

Como este conteudo é setado no lightbox? Poderia mostrar um pouco de código?

Oi cleciusjm, boa noite.
Segue exatamente o código que eu estou tentando executar.

<p:lightBox iframe="true">  
    <h:outputLink value="http://www.google.com.br" title="Google HomePage">  
        <h:outputText value="Google HomePage"/>  
    </h:outputLink>  
</p:lightBox> 

Ps: eu coloquei tudo do google mais para ilustrar, pq eu estou na verdade tentando chamar um xhtml do meu projeto. Afinal, se der certo com o site do google, fatalmente vai dar certo chamando minha xhtml

Obrigado.

Está colocando como link .jsf ou .xhtml?

Olá ErickRAR

Eu até vou usar XHTML como eu falei, mas eu estou tentando colocar qualquer domínio e nao está funcionando. Agora a pergunta: Faz diferença colocar jsf ou xhtml ou do ou html?!

<p:lightBox iframe="true">    
    <h:outputLink value="http://www.google.com.br" title="Google HomePage">    
        <h:outputText value="Google HomePage"/>    
    </h:outputLink>    
</p:lightBox> 

Valeu!

Eu experimentei aqui, pois nunca usei lightBox

-Usando “http://www.google.com.br”, o box abriu, porém a pagina não(o endereço alterava para https e abria uma página de erro. Em nenhum navegador abriu.
-Usando “teste.jsf” abriu normalmente.
-Usando “teste.xhtml” apenas apareceu escrito “teste”.

Está dentro de um form? Eu só criei um form e colei o código que você postou.

Opa…, agora sim tá me ajudando.

Será q é biblioteca?

Eu estou usando essas:
antlr-2.7.6.jar
c3p0-0.9.1.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate3.jar
hibernate-commons-annotations-3.2.0.Final.jar
hibernate-core-3.6.0.Final.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
hibernate-validator-4.1.0.Final.jar
javassist-3.12.0.GA.jar
jsf-api.jar
jsf-impl.jar
jta-1.1.jar
log4j-1.2.16.jar
mysql-connector-java-5.1.13-bin.jar
primefaces-2.0.1.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
validation-api-1.0.0.GA.jar

vc poderia me dizer as que vocë está usando?

Minha lista:

antlr-2.7.6
commons-beanutils-1.7
commons-collections-3.1
commons-logging-1.0.2
dom4j-1.6.1
hibernate3
hibernate-testing
itext-1.3.1
jasperreports-3.0.0
javassist-3.4.GA
javax.faces-2.1.7
jstl
jta-1.1
log4j-1.2.15
postgresql-8.3-603.jdbc3
primefaces-3.2
slf4j-api-1.5.3
slf4j-log4j12-1.5.3
standard

Sei que tópico é antigo mas estou com o mesmo problema, aparece uma tela preta quando chama a página pelo p:lightbox.
Você conseguiu resolver?
Ou se alguém puder ajudar.

Obrigado.

Olá gomarin, boa tarde.

Eu acabei limpando algumas libs que estavam em conflito, e como faz tempo e eu já mudei de projeto não sei de cabeça quais foram.

Tenta usar uma a uma para ver se te ajuda.

Me desculpa não detalhar a solução.

Abs();