Redirecionamento com result.redirectTo

77 views
Skip to first unread message

Thiago Augusto

unread,
Nov 29, 2013, 10:35:33 AM11/29/13
to caelum-vr...@googlegroups.com
Olá pessoal.

Estou precisando realizar um redirecionamento, e encontrei uma forma com o result.redirectTo. O problema é que quando eu faço o redirecionamento minha pagina da o erro 

HTTP Status 404 


Já tentei fazer o redirecionamento direto com forwardTo, desta forma (result.forwardTo("/WEB-INF/jsp/imagem/result.jsp"), mas da o mesmo erro. O grande problema é que não lança nenhum Exceção, então acredito que seja mais um erro basico.

Sera que alguém pode me ajudar. 



Rafael Ponte

unread,
Nov 29, 2013, 10:52:13 AM11/29/13
to caelum-vr...@googlegroups.com

Oi,

O redirectTo nao ira funcionar, pois os arquivos dentro do /WEB-INF nao sao visiveis pelo usuario/browser.

Se com forwardTo o mesmo erro ocorre entao acredito que o problema seja o caminho da pagina que está incorreto.

--
You received this message because you are subscribed to the Google Groups "caelum-vraptor-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to caelum-vraptor-...@googlegroups.com.
To post to this group, send email to caelum-vr...@googlegroups.com.
Visit this group at http://groups.google.com/group/caelum-vraptor-dev.
For more options, visit https://groups.google.com/groups/opt_out.

Thiago Augusto

unread,
Nov 29, 2013, 11:36:48 AM11/29/13
to caelum-vr...@googlegroups.com
Olá Rafael. Então eu estou pesquisando alguns fóruns e fiz desta forma. Não teria que funcionar usando redirectTo ?

Já verifiquei o caminho da minha URL e está certo.

result.redirectTo(ImagemController.class).retorna();

@Path("/result")
public void retorna(){
result.forwardTo("/WEB-INF/jsp/imagem/result.jsp");
}

Alexandre Gama

unread,
Nov 29, 2013, 12:15:44 PM11/29/13
to caelum-vr...@googlegroups.com
Opa Thiago,

Como o @Ponte falou este caminho não é visível. Você poderia fazer o seu forward usando o seu Controller.seuMetodo

result.forwardTo(SeuController.class).seuMetodo();

Assim o seu método que sabe ir até a página que você precisa. Caso você queira colocar a uri na mão não poderá usar a WEB-INF.

Abraços!


--
You received this message because you are subscribed to the Google Groups "caelum-vraptor-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to caelum-vraptor-...@googlegroups.com.
To post to this group, send email to caelum-vr...@googlegroups.com.
Visit this group at http://groups.google.com/group/caelum-vraptor-dev.
For more options, visit https://groups.google.com/groups/opt_out.

Otávio Garcia

unread,
Nov 29, 2013, 12:27:15 PM11/29/13
to caelum-vr...@googlegroups.com
Thiago, complementando, a diferença entre o forward e redirect, é que o primeiro o fluxo é feito todo no servidor. Já no redirect o fluxo é feito no navegador. Por isso redirect não funciona para páginas no WEB-INF.

Aproveitando, há uma lista específica para usuários, que é a lista caelum-vraptor. Esta lista que você postou é direcionada a assuntos de desenvolvimento do vraptor.

Abraço




2013/11/29 Alexandre Gama <alexandre...@gmail.com>

Thiago Augusto

unread,
Nov 29, 2013, 12:30:52 PM11/29/13
to caelum-vr...@googlegroups.com
Pessoal, obrigado pela ajuda! 

Funcionou aqui, já tinha feito da forma que você me falou, porem na hora que eu chamava meu método o caminho era /WEB-INF/jsp/imagem/result.jsp.
Apenas retirei o WEB-INF e funcionou. Mais uma vez obrigado.


Em sexta-feira, 29 de novembro de 2013 13h35min33s UTC-2, Thiago Augusto escreveu:

Otávio Garcia

unread,
Nov 29, 2013, 4:58:03 PM11/29/13
to caelum-vr...@googlegroups.com
Tem um link na documentação do vraptor que explica bem as diferenças entre redirect/forward. Segue o link para ajudar futuros usuários: http://vraptor.caelum.com.br/pt/docs/view-e-ajax/.

Para quem usa vraptor4: https://github.com/caelum/vraptor4/wiki/08-Trabalhando-com-a-View#redirecionamento-e-forward


2013/11/29 Thiago Augusto <thiag...@gmail.com>

Thiago Augusto

unread,
Dec 2, 2013, 12:04:23 PM12/2/13
to caelum-vr...@googlegroups.com
Pessoal, obrigado pela ajuda estou quase no final, porem surgiu mais uma duvida. Existe alguma forma de eu mostrar a imagem que o usuário fez o upload na tela ? Fiz um teste aqui e só consigo fazer aparecer o nome do da imagem desta forma > result.include("variable",arq.getFileName());

Gostaria de apresentar a imagem física na tela para o usuário.

Mais uma vez obrigado.


Em sexta-feira, 29 de novembro de 2013 13h35min33s UTC-2, Thiago Augusto escreveu:

Chico Sokol

unread,
Dec 2, 2013, 12:21:21 PM12/2/13
to caelum-vraptor-dev
Você tá salvando a imagem no servidor?

Acho que vc vai precisar criar uma rota no controller só pra responder com o conteúdo da imagem.

Tipo, na jsp vc vai fazer:

<img src="/minhaApp/imagem" />

E no controller acho que vc vai precisar fazer algo do tipo:

@Path("/imagem")
public void serveImagem() {
  response.setContentType("image/png"); //ou o que fizer sentido aí...
  OutputStream os = reponse.getOutputStream();
  //le a imagem de onde vc tenha salvado e escreve no output stream...
}






--
Chico Sokol


2013/12/2 Thiago Augusto <thiag...@gmail.com>
Reply all
Reply to author
Forward
0 new messages