DevMedia

Exibir link na tag <h:messages>

0
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
Publicidade

Respostas (7)

0
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
0
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.

0
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.
0
poderia mostrar o seu codigo para que possamos ajuda-lo melhor ??


att
 robson
0
#Código
<a4j:outputPanel ajaxRendered="true" id="minhaMensagem">
         <p:messages id="barraMensagens" />
</a4j:outputPanel>
 


#Código

<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
0
sugiro que remova o a4j e use o atributo update do componente. Segue link de exemplo    http://www.primefaces.org/showcase/ui/messages.jsf
0
Conseguiste ? Se sim poderia fechar o chamado ?