Exibir link na tag <h:messages>

Java

04/07/2011

Boa tarde a todos,

Estou tentando exibir um link em uma mensagem que mando pro usuário a partir da tag <h:messages>, contudo o que é renderizado é a string que representa o link, dessa forma:
<a href="http://www.algumcoisa.com.br">Clique aqui</a>.
Lendo a respeito vi que a tag <outputtext> tem um atributo chamado escape, como habilito a mesma funcionalidade na tag <h:messages>.

Antecipadamente agradeço qualquer ajuda.

Att.

João Paulo
João Dias

João Dias

Curtidas 0

Respostas

Davi Costa

Davi Costa

04/07/2011

Não sei qual a versão do jsf que vc está usando, mas de cara a 1.2, não tem. A não ser que vc crie um componente seu próprio baseado no h:messages e tenha esse suporte.

Não é tão difícil criar um componente com jsf não. Vc vai achar muito material disponível na internet, inclusive na javamagazine já saiu um artigo muito bom sobre esse assunto.

Espero ter ajudado
att Davi
GOSTEI 0
Dyego Carmo

Dyego Carmo

04/07/2011

A versão JSF 2.0 você consegue fazer o escape apenas via Beans Validation , lá você coloca qualquer coisa.

Porem o funcionamento do h:messages como componente voce nao vai conseguir alterar... se ele reenderizar uma tabela , ele nao vai mudar.

GOSTEI 0
João Dias

João Dias

04/07/2011

Valeu pelas respostas pessoal, resolvi o problema parcialmente usando o messages do primefaces, contudo um outro surgiu, no caso o css não carrega na primeira requisição, só se eu der um refresh na página.
Para ficar mais claro, ele valida e exibe o link na mensagem contudo fica só o espaço em branco, mas as mensagens de validação estão lá, quando eu dou um refresh o css carrega e as mensagens aparecem formatadas corretamente. Isso acontece também com os links, só passam a funcionar quando eu dou um refresh.

Antecipadamente agradeço a ajuda.
GOSTEI 0
Robson Teixeira

Robson Teixeira

04/07/2011

poderia mostrar o seu codigo para que possamos ajuda-lo melhor ??


att
 robson
GOSTEI 0
João Dias

João Dias

04/07/2011

<a4j:outputPanel ajaxRendered="true" id="minhaMensagem">
         <p:messages id="barraMensagens" />
</a4j:outputPanel>
 



<p:commandButton id="btnIncluirCliente" 
action="#{cliente.incluirCliente}" styleClass="salvar" value="" 
immediate="false" 
onsuccess="/f/site/paginas/cadastroRealizadoComSucesso.xhtml"/>

 



Esse é o código onde fica o componente que renderiza as mensagens.  E o botão que faz a requisição. O problema é que na requisição feita não carrega o css somente quando eu dou um refresh na página.

Valeu pela ajuda
GOSTEI 0
Robson Teixeira

Robson Teixeira

04/07/2011

sugiro que remova o a4j e use o atributo update do componente. Segue link de exemplo    http://www.primefaces.org/showcase/ui/messages.jsf
GOSTEI 0
Dyego Carmo

Dyego Carmo

04/07/2011

Conseguiste ? Se sim poderia fechar o chamado ?
GOSTEI 0
POSTAR