Estou tendo problemas para exibir mensagens globais em minha aplicação.
Quanto utilizo a tag <h:commandButton> para o botão que irá efetuar a ação do comando, a mensagem aparece perfeitamente na tela.
Mas quando utilizo o botão a4j:commandButton aparece a seguinte mensagem em meu console:
INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
jah aconteceu comigo mas nao soube como resolver
soh sei explicar:
eh pq o h:commandButton faz um submit…
e o messages soh ocorre numa submicao
o a4j:commandButton ele ocorre na mesma renderizacao
entao nao acontece submicao alguma mas mesmo assim a aplicacao percebe q ocorreu alguma execao mas nao vai poder exibir pq nao teve um refresh
mas eu axo q vc pode resolver fazendo com q qndo clicar no botao entao recarrege a pagia
Eu acho ruim renderizar a pagina novamente… perco em desempenho… dessa forma não seria necessário utilizar ajax…
Implementei uma idéia… agora você me diz se é gambiarra!! hehe
Criei vários objetos do tipo String como ex: msgValor, msgDescricao com seus getters e setters… então eu verifico em meu backbean se o campo obrigatório foi preenchido, se não for eu populo o msg através de seu set, então renderizo ao lado do campo da página!!! hehe fede mas resolveu…
nao precisa renderizar a pagina novamente, no reRender do commandButton vc diz apenas qual componente deve ser re-renderizado (normalmente um a4j:ouputPanel para messages).
Mas hoje em dia nao precisa nem mais disso, basta usar o rich:messages, é bem simples.
Funcionou… mas estou com outro probleminha… Na minha tela possuem dois botoões, como faço para que apenas um botão efetue a validação de campos manipulando mensagens???
[quote=dahenz]Funcionou… mas estou com outro probleminha… Na minha tela possuem dois botoões, como faço para que apenas um botão efetue a validação de campos manipulando mensagens???
Obrigado!!![/quote]
coloca um immediate=“true” no botão q ñ quer validar o form