Como alterar a mensagem do componente h:message?  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
duducordeiro_
Thread.start()

Membro desde: 15/10/2009 21:50:12
Mensagens: 47
Offline

Já procurei em diversos posts sobre o h:message, mas ainda não consegui algum que me diga onde alterar a mensagem que é mostrada na tela caso ocorra algum erro de conversão.

No meu caso eu tenho um h:inputText que assim que o usuário digita um código eu faço uma chamada Ajax e carrega automaticamente todos os dados referente ao código, porém se o usuário digitar um 'w' por exemplo, eu gostaria de mostrar a mensagem dizendo para digitar um número. Atualmente a mensagem mostrada é:

j_id53:j_id54:cdAgencia: 'w' is not a number. Example: 99

att. Eduardo Cordeiro
Giulliano
Forum Spammer
[Avatar]

Membro desde: 14/11/2006 19:29:38
Mensagens: 1456
Localização: São Paulo
Offline

Busque por

Internacionalização + JSF
ou
I18N + JSF

Sun Certified Java Programmer 5
Sun Certified Enterprise Architect (estudando...)
GiuLLianO MoRRoNi




<UnTouChAbLe>
[Email] [WWW] [MSN]
roland
Thread.start()
[Avatar]

Membro desde: 02/10/2009 15:03:38
Mensagens: 49
Offline

Use validadores. É fácil usar validadores em JSF - basta adicionar as tags dos validadores ao corpo
de uma tag de componente, desta forma:

<h:inputText id="card" value="#{payment.card}">
<f:validateLength minimum"13"/>
</h:inputText>

Qlqer coisa manda ai

This message was edited 1 time. Last update was at 10/03/2010 21:04:35


Non male sedit qui bonis adhaerit.
Giulliano
Forum Spammer
[Avatar]

Membro desde: 14/11/2006 19:29:38
Mensagens: 1456
Localização: São Paulo
Offline

roland wrote:Use validadores. É fácil usar validadores em JSF - basta adicionar as tags dos validadores ao corpo
de uma tag de componente, desta forma:

<h:inputText id="card" value="#{payment.card}">
<f:validateLength minimum"13"/>
</h:inputText>

Qlqer coisa manda ai


Cara ele já esta usando validadores...a pergunta é como mudar as mensagens default do JSF... :/

Sun Certified Java Programmer 5
Sun Certified Enterprise Architect (estudando...)
GiuLLianO MoRRoNi




<UnTouChAbLe>
[Email] [WWW] [MSN]
roland
Thread.start()
[Avatar]

Membro desde: 02/10/2009 15:03:38
Mensagens: 49
Offline

Cara o esquema é cabeludo!

Olha só: no teu projeto cria um pacote chamado br.com.algumacoisa.bundle ou alguma coisa parecido,
como tu achares melhor. Dentro deste pacote crie um arquivo Properties com o nome de Mensagens, ou seja,
Mensagens.properties.
No teu IDE em libraries expanda o arquivo JAR chamado jsf-impl.jar.
Vai até o pacote javax.faces e expanda este nó. Abra com um duplo clique o arquivo
Messages.properties. Copia todo o conteúdo e cole no arquivo Mensagens.properties que tu
acabaste de criar.
Então é um abraço. Tu pode traduzir ele por inteiro, ou apenas as mensagens que tu necessita na aplicação.
Ah! Depois de traduzidas as mensagens tu precisa referenciar o caminho do Messages.properties que
acabaste de criar. Para isso abre o faces-config.xml e adicione o caminho assim:

...
<application>
<message-bundle>
br.com.algumacoisa.bundle.Mensagens
</message-bundle>
</application>
...

Espero ter ajudado.

Non male sedit qui bonis adhaerit.
thiagowig
Debugger
[Avatar]

Membro desde: 16/07/2009 11:42:38
Mensagens: 57
Localização: Belo Horizonte
Offline

roland wrote:
Então é um abraço. Tu pode traduzir ele por inteiro, ou apenas as mensagens que tu necessita na aplicação.
Ah! Depois de traduzidas as mensagens tu precisa referenciar o caminho do Messages.properties que
acabaste de criar. Para isso abre o faces-config.xml e adicione o caminho assim:



Nao precisa traduzir, ja tem pronto

http://fisheye5.atlassian.com/browse/~raw,r=1.1.2.1/javaserverfaces-sources/jsf-api/src/javax/faces/Messages_pt_BR.properties
fernandosc
Thread.start()

Membro desde: 30/07/2010 14:07:27
Mensagens: 38
Localização: Florianópolis
Offline

thiagowig wrote:
roland wrote:
Então é um abraço. Tu pode traduzir ele por inteiro, ou apenas as mensagens que tu necessita na aplicação.
Ah! Depois de traduzidas as mensagens tu precisa referenciar o caminho do Messages.properties que
acabaste de criar. Para isso abre o faces-config.xml e adicione o caminho assim:



Nao precisa traduzir, ja tem pronto

http://fisheye5.atlassian.com/browse/~raw,r=1.1.2.1/javaserverfaces-sources/jsf-api/src/javax/faces/Messages_pt_BR.properties


Para isso funcionar, basta colocar este arquivo no diretório do projeto correto?

Não esta funcionando para mim.

Grato.
renanskz
HelloWorld

Membro desde: 19/11/2009 02:47:13
Mensagens: 14
Offline

Tem que copiar o .properties no seu projeto e adicionar o seguinte no faces-config.xml



Sendo myPackage o package onde você copiou o arquivo.

Mais infos de Messages em JSF:
http://www.laliluna.de/articles/javaserver-faces-message-resource-bundle-tutorial.html

This message was edited 1 time. Last update was at 01/09/2010 22:24:44

fernandosc
Thread.start()

Membro desde: 30/07/2010 14:07:27
Mensagens: 38
Localização: Florianópolis
Offline

Funcionou perfeitamente!

Muito obrigado.
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team