Estou desenvolvendo um Sistema com JSF, JPA, CDI e EJB e estou com a seguinte dificuldade: quando o usuário clickar no commandLink para mandar gerar um Boleto bancário o sistema deverá abrir uma nova janela do Browse e mostra o boleto bancário e ao mesmo tempo atualizar a formulário para sumir com o registro que estava pendente de geração do Boleto Bancário. O máximo que consigo e abrir o boleto em uma outra pagina, entretanto não consigo atualizar o formulário que chamou o relatório,
se uso o commandButton ele abre o relatório na mesma pagina do formulário e não é isso que desejo.
A quem se dispuser a ajudar, desde já, muito obrigado.
Impossível…
Especificação HTTP foi estabelecida de forma que só pode enviar 1 tipo de resposta dentro do HTTP response. Ou vem o ajax com a atualização da lista ou vem o PDF dentro da resposta.
Como contornar?
Aqui na empresa fazermos um adaptação muito legal…
Na resposta voltamos a atualização da lista para atualizar os registros…mas logo apos a atualização ajax eu executo um javascript que chama outro http request para fazer a geração e donwload do PDF em um outro http response.
O resultado final é que o navegador fazer 2 interações http, 1 ajax para atualizar a listagem e outro http full para donwload do pdf. Isso fica transparente para o usuario final. Ele praticamente nem percebe…
Não se é seu caso mas uso a propriedade oncomplete do JSF a4f.
Funciona que é uma beleza…
[quote=simeao]Fernando,
fiz uns teste mas nao consegui via JavaScript executar o metodo do meu manager Bean que gera o arquivo de impressao.[/quote]
Eu usei o a4J:function para expor o método do managegBean em uma função JavaScript! Da certo sim…
To usando em milhões de processos aqui…