redirect VS forward VS chain
24/10/2012 17:00
0
Qual a diferença entre as funções redirect, forward e chain dos controllers?

Quando devo utilizar cada um deles???

Estou utilizando chain / forward para controllers e actions do mesmo server e redirect para aplicações externas.

Abraços!
Tags: controllers, redirect, chain, forward


1
redirect usa o HTTP redirect, que retorna um status HTTP 3XX (por padrão o Grails usa o 302) indicando uma outra URL pro navegador seguir. Basicamente funciona como se o usuário tivesse digitado uma nova URL. Só passa parâmetro pelo método GET.

forward é como se fosse um redirecionamento interno do Grails (a maioria das linguagens pra Web tem isso tb), ele usa a mesma requisição HTTP e pro usuário a URL não muda. Pode causar problemas se o usuário der refresh na página.

chain é um redirect, mas que passa parametros via o flash do grails, que dura só entre um request e outro, então se você der um chain passando parametros, se o usuário der um refresh provavelmente vai dar erro por que os parametros se perderam.

Por padrão, uso redirect sempre, é o mais seguro e mais usual.
24/10/2012 17:44


0
Obrigado! Acho que entendi...

Manja se tem diferenças de desempenho?

Só ainda to meio viajando onde usar cada um na prática
24/10/2012 17:59


1
Nunca comparei desempenho, mas teoricamente o forward deve ser o mais rápido já que é totalmente interno do grails, o chain e o redirect implica em finalizar o request e começar outro.
24/10/2012 18:11



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto