Pessoal,
Estou num projeto que mistura Tomahawk 1.1, RichFaces 1.1.3 e RI (!!!) 1.1_02.
As taglibs <h:> e <f:> são do RI, o filtro é do richfaces e é usado myfaces-extensions, além de usar as talibs do richfaces e do myfaces-extensions.
Pra piorar, o uso de JS é perigosamente abusado…
Não é possível arrumar essa bagunça agora.
Em várias telas, tenho algo assim:
<h:commandButton value="xyz" action="{xpto.y} onclick="abre()" />
//...
function abre() {
document.forms[0].target="abc";
window.open("abc", maisummontedeopcoesdepopup);
}
O objetivo é quando eu clicar no botão ele abrir uma nova janela em um determinado tamanho e local, executando antes um código no servidor e usando o redirecionamento do JSF para definir o jsp que sera aberto na nova janela.
É uma tremenda duma gambiarra, mas funcionou um bom tempo…
Um belo dia resolveu parar de funcionar… Não sei se foi a mudança numa minor version, ou se foi efeito coleteral de ter mudado o saveState para client em vez de server ou alguma configuração obscura.
O problema é que o maldito <h:commandButton /> muda o target do form para nada (""), fazendo com a pagina seja aberta na janela atual e não numa outra janela. O popup abre numa janela em branco.
Existe um jeito “limpo” de fazer o <h:commandButton /> não alterar o target do form? Algum parâmetro de context?
[]'s
Rubem