Adicionar mensagens de erro na visão - JSF

Caros,

Tenho um service e gostaria de adicionar uma mensagem de erro personalizada na visão, mas não estou conseguindo!

No caso é um service que está cadastrando novos usuários e caso o login já esteja em uso ele deve rejeitar o cadastro e exibir a mensagem apra o usuário.

Como faço isso? Qual a melhor abordagem?

Do jeito abaixo ele até valida aquilo que está anotado com o Validator da JSR 303, mas essa mensagem que eu adiciono não é exibida!

Não colei a view mas utilizo um h:messages!
Levem em consideração que o repositório esteja funcionando 100%!

Vejam:

[code]
//No UsuarioService:

public Usuario salvarOuAtualizar(final Usuario usuario) {

	Validator validador = new ValidadorUtil().getValidator();

	Set<ConstraintViolation><Usuario>> erros = validador.validate(usuario);

	// TODO: validar e lançar exceção caso o usuário esteja num estado
	// inválido!
	if (erros.size() != 0) {
		throw new UniblueException(Mensagens.ENTIDADE_INVALIDA ,erros);
	}

	if (usuario.getId() == null) {
		// TODO:Verificar se o login solicitado já está em uso!
		if (REPOSITORIO.loginEmUso(usuario)) {
			throw new UniblueException(Mensagens.LOGIN_EM_USO);
		}
	}

	return REPOSITORIO.salvarOuAtualizar(usuario);
}[/code]
//No bean:

@ViewScoped
@ManagedBean
public class UsuarioBean implements Serializable {

	private static final long serialVersionUID = 1L;

	private Usuario usuario = new Usuario();
	private Collection<Usuario> usuarios;

	private UIComponent component;

	public void grava() {
		try {
			UsuarioService.INSTANCIA.salvarOuAtualizar(usuario);
			this.usuario = new Usuario();
			this.usuarios = UsuarioService.INSTANCIA.buscarTodos();
		} catch (UniblueException e) {
			e.printStackTrace();
			FacesContext contexto = FacesContext.getCurrentInstance();

			if (e.getErros() != null) {
				for (ConstraintViolation<Usuario> erro : e.getErros()) {
					contexto.addMessage(component.getClientId(),
							new FacesMessage(erro.getMessage()));
				}
			}
		}
	}

	public void remove(Usuario usuario) {

		UsuarioService.INSTANCIA.excluir(usuario);

		this.usuarios = UsuarioService.INSTANCIA.buscarTodos();

	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public Collection<Usuario> getUsuarios() {

		if (usuarios == null) {
			usuarios = UsuarioService.INSTANCIA.buscarTodos();
		}

		return usuarios;
	}

	public UIComponent getComponent() {
		return component;
	}

	public void setComponent(UIComponent component) {
		this.component = component;
	}
}

Como insiro uma mensagem dentre as que serão exibidas na view no componente h:messages???

fala meu amigo!!

cara, eu não cheguei nessa parte ainda, da validação do lado do servidor …
Inclusive, ia fazer uns testes mas estou apanhando por aqui…

Masss, cara eu mando mensagens para o usuario normalmente, eu criei uma classe para fazer isto para mim
inclusive para pegar as mensagens do meu properties… Vou compartilhar contigo e talvez te ajude, beleza??

Detalhe: se vc tiver a boa vontade de entrar em contato comigo, para me dar uma mãozinha numa questão que estou
apanhando com JPA eu ficaria feliz. :slight_smile: valeu cara.