Boa noite galera ! Estou com a seguinte dúvida, é possível eu fazer um redirecionamento para a página atual usando os métodos redirecTo e ForwardTo do vraptor?
No caso vou ter um formulario de login no topo de todas as páginas para o usuário poder se logar, assim que ele logar o sistema atualiza e o retorna para a página no qual ele já estava.
É possível fazer isso ou apenas usando ajax e json mesmo ?
Obrigado
É possível sim, uma forma simples é só retornar pro mesmo método que abriu a página usando o result.
Digamos que seu formulário é aberto através da classe LoginController e método index(). Basta utilizar:
public void login(Usuario usuario) {
//lógica para logar... e ao final do método
result.of(LoginController.class).index();
}
Aqui você encontra as opções que têm: http://vraptor.caelum.com.br/pt/docs/view-e-ajax
Lendo novamente vi que você quer que ele retorne pra página que já estava, então minha resposta acima não resolve.
Consigo ver duas formas, via ajax como você mesmo disse ou passando na requisição qual a página atual e no final do método fazer:
public void login(Usuario usuario, String paginaAtual) {
//lógica para logar... e ao final do método
result.forwardTo(paginaAtual);
}
Pode ser que haja uma forma mais fácil não me lembro no momento.
Frederico valeu pela atenção ! Acho que vou continuar realizando esta função via ajax mesmo, foi apenas curiosidade que me surgiu, pelo fato do VRaptor ser um framework tão bom e prático. Mas obrigado pelas dicas ! Abraços
Por nada. Talvez o grande Lucas saiba de algo.
existe o Result.referer(), que usa o header Referer da requisição para redirecionar de volta…
o único problema é que ele não é obrigatório, o browser pode resolver não mandar em alguns casos (99% dos casos vai mandar, mas sabe como é)