Mensagens no Controller

1 resposta
mdbatera

na minha classe LoginController, gostaria que fosse exibida uma mensagem quando o usuário não consegue logar, igual a quando faço alteração no ProdutoController, eu fiz assim;

package br.com.caelum.produtos.controller;


import br.com.caelum.produtos.component.UsuarioLogado;
import br.com.caelum.produtos.dao.UsuarioDao;
import br.com.caelum.produtos.modelo.Usuario;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.view.Results;

@Resource
public class LoginController {
	private UsuarioDao usuarioDao;
	private UsuarioLogado usuarioLogado;
	private Result result;

	public LoginController(UsuarioDao usuarioDao, UsuarioLogado usuarioLogado,
			Result result) {
		this.usuarioDao = usuarioDao;
		this.usuarioLogado = usuarioLogado;
		this.result = result;
	}

	public void autentica(Usuario usuario) {
		Usuario autenticado = usuarioDao.buscaUsuarioPorLoginESenha(usuario);
		if (autenticado != null) {
			usuarioLogado.efetuaLogin(autenticado);
			result.use(Results.logic()).redirectTo(ProdutoController.class)
					.lista();
			return;
		}
		result.use(Results.logic()).redirectTo(LoginController.class)
				.formulario();
		result.include("mensagem", "Usuário não cadastrado");

		
	}


	public void desloga(Usuario usuario) {
		usuarioLogado.efetuaLogout();
		result.use(Results.logic()).redirectTo(LoginController.class)
		.formulario();
		
	}

	public void formulario() {

	}

}
e no JSP coloquei a div mensagem, só que não está aparecendo a mensagem quando o login falha, o que pode ser?

Valew

1 Resposta

Lucas_Cavalcanti

vc pode usar o validator pra fazer algo parecido com o que vc tah fazendo, do jeito padrão do vraptor:
http://vraptor.caelum.com.br/documentacao/validacao/

se vc quiser continuar com a sua solução, coloque o result.include antes do redirect

Criado 9 de março de 2010
Ultima resposta 9 de mar. de 2010
Respostas 1
Participantes 2