Jsf sem css

oi pessoal

eu to fazendo um formulario usando jsf 2 e ao mandar exibir mensagem de erro, o css (a cor vermelha) nao aparece.

A mensagem chega a ser exibida, mas aparece a letra na cor preta e o fundo da mesma cor do formulario.

Meu codigo ta assim:

<h:form id="formGeral">
<p:panel header="Dados Pessoais">
<p:messages id="messages"/>
//meus campos obrigatorios
<p:commandButton value="Salvar" action="#{contribuinteController.add}"></p:commandButton>
</p:panel>
</h:form>

no meu MB

public void add()
{
  if(contribuinte.getNome().equals(""))
 {
    FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "O nome é obrigatorio", null);
        FacesContext.getCurrentInstance().addMessage(null, facesMsg);
 }
}

alguem sabe pq nao aparece a cor no messages?

Você deve informar um css para a mensagem de erro.

&lt;h:messages errorStyle="color: red"/&gt;

O bacana mesmo é vc ter um arquivo css com as classes e utilizar o class

&lt;h:messages errorClass="erro"/&gt;

e no seu css

.erro{
   color: red;
}

desse jeito muda a cor da fonte, mas eu quero q apareca akela caixa vermelha de erro do jsf

A questão é que tenho a seguinte linha:

Porém as cores das mensagens são mostradas somente na classe erro do css. Como faço para definir quando será info, warn isso considerando que utilizo a tag messagens na faze 2 do clico de vida do JSF

att.

Será que vc não está confundindo as coisas, porque por padrão o JSF mostra sem CSS mesmo, agora o PrimeFaces mostra a caixa de uma cor para cada tipo de mensagem.

mas eu uso o primefaces chamando p:messages