Abrir JSP em outra janela[RESOLVIDO]

5 respostas
D

Pessoal,

estou com um pequeno probleminha aqui na minha aplicação… Vê se vocês podem me ajudar…

Eu preciso chamar uma action que abrirá um jsp, porém esse jsp deverá de abrir em uma outra janela, diferente da que ele foi chamado.
Eu consigo abrir certinho… Porém, na mesma janela.

Eu tentei usar o window.open() mas o problema é que dentro do windows open eu não consigo colocar minha action.

Atualmente para chamar uma action eu faço dessa forma:

function sendCommand( command ){
	formulario = window.parent.document.forms[0];
	formulario.method.value=command;
	formulario.submit();
}

E no meu jsp fica assim

<html:link href="javascript:sendCommand( 'imprimirTermoAdesao')">

Onde imprimirTermoAdesao é o nome da minha Action .

Alguém poderia me ajudar???

5 Respostas

J

Faaala garoto !!

Já tentou utilzar a função window.open(‘sua.jsp’);

B

Deixa eu ver se entendi.

Você tem uma jsp (vamos chamar de primária) que abre outra jsp (a secundária). A secundária possui um link que dará um submit no form da primária.
É isto mesmo?

Sua função gera algum erro? Eu imaginaria algo do tipo :

primaria.jsp
<a href="secundaria.jsp" target="_blank">Abrir JSP Secundária</a>
<form name="formularioPrimario" action="SuaAction.do">
<input type="hidden" name="method"/>
...
</form>
secundaria.jsp
<script type="text/javascript">
function sendCommand(command) {
  var formularioPrimario = window.opener.document.forms['formularioPrimario'];
  formularioPrimario.method.value = command;
  formularioPrimario.submit();
  window.close();
}
</script>
<a href="javascript:sendCommand('imprimirTermoAdesao');">Imprimir Termo Adesão</a>

A única diferença é a utilização de window.opener em vez de window.parent.

Espero ter ajudado.
:D

D

Então meninos, é o seguintes

eu não consigo utilizar a função window.open(‘sua.jsp’) pq eu tenho que chamar o método da Action.

Acho que não consegui expressar o que estou fazendo … rsrs

É o seguinte,

eu tenho uma Action CupomAction e dentro dessa action eu tenho um método imprimiTermoAdesão… É esse meu método que chama a minha jsp, através daquela function sendCommand…

Eu até tentei alterar minha function passando, no lugar de parent, opener, mas ele não acontece nada…

:S

to começando a achar q terei de deixar na mesma janela :S

B

Não seria o caso de chamar sua Action no window.open né?!
Ex: window.open(‘CupomAction.do?method=seuMetodo’);

Você poderia postar os códigos das páginas?

D

Biro

Desculpa a demora em responder

Bom, não será necessário eu mandar os fontes…

Fiz o que você falou… FOi certinho :smiley:

Obrigadaaaaaaaa

Criado 15 de dezembro de 2010
Ultima resposta 16 de dez. de 2010
Respostas 5
Participantes 3