Apenas compartilhando o conhecimento, já que muito sobre o que consegui em nosso projeto foi extraído daqui…
Tinhamos um problema: Como alterar o target do botão para abrir uma tela em uma nova janela? Poderiamos alterar isso no Form? Sim, Mas isso afetava todos os botões. Por javascript? Até funciona, mas não adequadamente e como gerar um relatório em uma nova Janela?
Depois de vários tipos de resposta aqui do Forum e navegando pela net me veio o seguinte: “Será que não posso fazer um botão se comportar como um Hiperlink?” Mãos a obra:
É possível e simples, talvez não seja a forma “recomendada” mas funciona perfeitamente.
1-Crie um hiperlink na página JSF.
2- Na propriedade visible deixe o valor “false”
3- Altere a propriedade target para “_blank” ou o destino que quiser
4- No botão adcione isso na propriedade onClick -> "document.getElementById('nomeDoForm:nomeDoHiperlink').click();"
5- Agora é só fazer a festa no action do hiperlink, seu botão funcionará como se fosse um.
Espero que ajude a muitos… A nós ajudou bastante, mas quem tiver uma sugestão melhor poste aí… Essa foi a nossa solução…
Obs: Substituam o campo nomeDoForm e nomeDoHiperlink pelo ID que vocês estiverem utilizando nesses componentes…
Abraços.