[RESOLVIDO] Nova janela com Spring MVC

Boa tarde pessoal,

Estou com uma dúvida aqui: no sistema gero um relatório após um cadastro, que é exibido no navegador do usuário. Porém, quando um cadastro é feito (o usuário clica no botão, a action mapeada gera o relatório e redireciona para outra action), o pdf do relatório é exibido na mesma aba do navegador, fazendo com que o usuário tenha que voltar no histórico do navegador para voltar ao sistema. Pensei em fazer o seguinte: quando o usuário clicar no botão que realiza o cadastro, redirecionar (pelo Spring MVC) para outra action que devolve uma jsp com javascript, que por sua vez abre uma nova aba em branco. Mas tô achando isso mta gambiarra, alguém conhece uma outra forma de se fazer isso?

Se não fui muito claro, é só perguntar que tento explicar melhor.

Grande abraço, muito obrigado desde já.

Nadinha?

???

Mais você quer que este arquivo seja aberto no navegador? Por que você já não manda ele pra ser feito o download…

http://stackoverflow.com/questions/5673260/downloading-a-file-from-spring-controllers
http://stackoverflow.com/questions/9913732/configuring-spring-mvc-controller-to-send-file-to-client

Oi jweibe,

Primeiramente, muito obrigado pela atenção.

Não posso deixar o arquivo para ser feito o download pela praticidade (sem contar que iria confundir muitos usuários também).

A ideia do que preciso tá bem clara? Se não estiver, é só perguntar.

Abração.

jweibe,

Eu já consegui enviar o pdf no navegador do cliente, o que preciso é que esse pdf seja aberto em uma nova aba do navegador do cliente (o que me faz pensar que seja necessário javascript, pois é no lado cliente).

Bom dia.

Muito similar ao download, você pode ter um Servlet nessa sua página que retorna o arquivo inteiro na Stream (binário), e você seta o Content-Type (response.setContentType()) para “application/pdf”.
Dessa forma, se o navegador “souber” como ler o PDF, ele vai exibir, caso contrário, oferecerá o download.

Quanto a abertura, creio que há 2 jeitos: ou sua Action redireciona a requisição para este PDF, ou um JavaScript abre em outra janela (como você citou).

Valeu!

Bom dia!

Primeiramente, muito obrigado pela atenção.

Me desculpe, mas não entendi essa parte.

Abração.

Acho que ele quis dizer colocar um atributo no seu formulário que diga para o retorno abrir em uma outra janela target="_blank"

Olá AmauriSpPoa,

Muito obrigado pela atenção.

Era realmente isso que eu estava precisando, mas como não me lembrava, não sabia nem pelo que buscar no google. Realmente era o target que eu procurava.

Muito obrigado pela ajuda e atenção de todos, tópico resolvido.

Abraços.