Convertendo e validando dados em aplicações JSF Visual Web
Neste tutorial, você aprende sobre conversores e validadores do JSF 1.2 (Woodstock). Os conversores são usados para converter entrada de string em tipos de dados Java para várias finalidades, como cálculo. Os validadores são usados para verificar se a entrada do usuário está dentro de intervalos específicos. Use a estrutura do JSF Visual Web para criar uma aplicação que converta temperaturas de Celsius para Fahrenheit. A aplicação usa um conversor para converter a entrada do usuário de um valor de string em um tipo de dados Java numérico no qual a aplicação pode realizar cálculos. A aplicação usa um validador para verificar se os dados estão em um intervalo específico e reporta erros de validação através de um componente Mensagem. Construa, em seguida, uma aplicação Web que calcule valores de moeda e exiba um valor de data formatado.
Você também aprende como adicionar seu próprio manipulador de validação em uma aplicação e como substituir as mensagens de erro incorporadas fornecidas pelo IDE para quando uma validação padrão falhar.
Conteúdo
Para seguir este tutorial, você precisa dos seguintes recursos e softwares.
| NetBeans IDE |
Web e Java EE versão 6.1 ou 6.0 |
| Java Developer Kit (JDK) |
Versão 6 ou
versão 5 |
Componentes do JavaServer Faces/
Plataforma Java EE |
1.2 com Java EE 5* ou
1.1 com J2EE 1.4
|
| Servidor da aplicação GlassFish |
V2 |
| Banco de dados Viagem |
Não é necessário |
* Para tirar vantagem dos recursos Java EE 5 do NetBeans IDE , use um servidor da aplicação que seja totalmente compatível com a especificação Java EE 5, tal como o Servidor da aplicação GlassFish V2 UR2. Se você estiver usando um servidor diferente, consulte as Notas de versão e as Perguntas freqüentes para saber problemas conhecidos e soluções alternativas. Para obter informações detalhadas sobre os servidores suportados e a plataforma Java EE, consulte as Notas de versão.
Observação para usuários do NetBeans IDE 6.1:
- Criar um projeto no NetBeans 6.1 inclui novas opções que podem ser deixadas como padrão. Por exemplo, a caixa de verificação Usar pasta dedicada para armazenar bibliotecas pode ficar desmarcada.
- Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
Projetando a aplicação
Nesta seção, crie a aplicação e adicione os componentes necessários à mesma.
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
-
Crie um novo projeto de aplicação Web e nomeie-o como ValidatorConverter. Ative o framework JavaServer Faces Visual Web.
A figura abaixo mostra a página que você criará nas etapas seguintes.
-
Na seção Básico da Paleta de componentes, arraste um componente Campo de texto e solte-o na página. Defina a propriedade label como Celsius e defina a propriedade text como 0,0.
As propriedades label e text estão na seção Aparência da janela Propriedades. O valor do texto é o valor padrão exibido no tempo de execução.
-
Defina como True a propriedade required do componente Campo de texto selecionando a caixa de verificação na janela Propriedades.
A propriedade required está na seção Dados da janela Propriedades. Um valor True requer que o usuário indique um valor para o campo de entrada. Se o usuário não indicar um valor e tentar submeter a página, uma mensagem de erro de validação padrão será retornada. Um asterisco vermelho aparece ao lado do rótulo Celsius para indicar que a propriedade required foi definida.
- Coloque um componente Rótulo na página. Defina o texto do rótulo como
Fahrenheit.
- Coloque um componente Texto estático à direita do rótulo Fahrenheit. Defina a propriedade text como
32,0 para representar o ponto de congelamento da água na escala Fahrenheit.
- Na seção Básico da Paleta, arraste um componente Mensagem e solte-o no rótulo Fahrenheit.
-
Mantenha as teclas Ctrl+Shift pressionadas e arraste uma linha do componente Mensagem para o componente Campo de texto.
O texto do componente Mensagem é alterado para Resumo da mensagem de textField1, conforme mostrado na figura a seguir:
Na próxima seção, adicione um validador para garantir que a entrada do usuário esteja em um intervalo especificado.
Usando validadores
Se a aplicação coletar informações dos usuários, por exemplo, o logon e a senha, será importante que você verifique os dados do usuário. O IDE fornece um conjunto de componentes para validar a entrada do usuário acesse-os da seção Validadores na Paleta de componentes. A validação mais simples garante que um campo de entrada possua algum tipo de valor.
O validador Intervalo duplo testa se o valor de uma entrada numérica está dentro de um intervalo especificado. O tipo de dados deve ser um ponto flutuante ou conversível em ponto flutuante. Outros validadores incluem o Validador de comprimento e o Validador de intervalo longo.
- Um validador Length é usado para validar que o tamanho do texto indicado para um componente não é mais curto ou mais longo que os valores especificados para as propriedades min e max do validador.
O valor deve ser um java.lang.String.
- Use o Validador de intervalo longo para validar que um valor inserido pelo usuário está dentro de um intervalo de valores máximos e mínimos. O valor deve ser qualquer valor de string que possa ser convertido em um tipo de dados longo Java.
Ao usar um validador (ou um conversor, descrito abaixo em Usando conversores), você também pode querer usar um componente Mensagem para indicar quando a validação falhar. A aplicação Web realiza todas as validações antes de chamar qualquer ouvinte de alteração de valor ou de ação, como os métodos de ação de botão. Se ocorrer um ou mais erros de validação, os ouvintes de alteração de valor e de ação não serão chamados e a aplicação Web renderizará a página novamente para que o usuário possa corrigir os problemas.
Nessa aplicação, você deseja verificar se o componente Campo de texto contém pelo menos um caractere antes que a página seja enviada. Você também precisa de um componente Mensagem para indicar quando a validação falhar.
O componente Mensagem adicionado na seção anterior indicará para o usuário se a validação falhar.
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
-
Expanda a seção Validadores da Paleta. Arraste o Validador de intervalo duplo da Paleta e solte-o no componente Campo de texto.
O validador de intervalo duplo é um componente não visual. O valor padrão doubleRangeValidator1 aparece na janela Navegador e na propriedade validator na janela Propriedades, conforme mostrado na figura abaixo.
- Na janela Navegador, selecione doubleRangeValidator1.
-
Defina o intervalo do validador na janela Propriedades:
- Defina a propriedade
maximum como 1000,0 (uma temperatura muito quente).
- Defina a propriedade
minimum como -273,15 (por ex., zero absoluto na escala Celsius).
Nesta seção, você habilitou a aplicação para validar um valor inserido pelo usuário usando um Validador de intervalo duplo. Na próxima seção, você usará um conversor para habilitar a aplicação para calcular o valor em Fahrenheit de uma entrada de string numérica de uma temperatura em Celsius.
Usando conversores
O IDE também fornece um conjunto de conversores que podem ser usados para converter dados de componente. Um conversor converte tipos de dados entre valores java.lang.String e as propriedades componente um tipo de dados Java.
Os conversores padrão podem ser acessados da seção Conversores da Paleta de componentes. Quando você vincula um componente, o IDE normalmente identifica o tipo de dados para você e define o conversor apropriado quando você estabelece uma vinculação à propriedade do valor. Entretanto, você também pode adicionar conversores manualmente no IDE definindo a propriedade converter do componente.
Observação: as conversões são realizadas antes do início do processo de validação. Se um usuário fornecer um valor que a aplicação não possa converter no tipo de dados especificado, a aplicação Web rejeita a entrada e envia uma mensagem de erro. Esta mensagem de erro aparece no componente Grupo de mensagens e no componente Mensagem associado, se existirem na página. O Conversor de número é útil porque pode ser usado para especificar os padrões com os quais a entrada deve coincidir.
Outros componentes de conversor incluem (mas não estão limitados a) o seguinte:
- O Conversor decimal grande converte entre valores java.lang.String e tipos de dados java.math.BigDecimal, por exemplo, vinculando um componente JSF a uma coluna de banco de dados Oracle do tipo NUMBER.
- O componente Conversor booleano converte entre valores java.lang.String e tipos de dados java.lang.Boolean ou o tipo primitivo boolean Java, por exemplo, vinculando um componente JSF a uma coluna de banco de dados do tipo BOOLEAN.
- O componente Conversor de byte converte entre valores java.lang.String e tipos de dados java.lang.Byte ou o tipo primitivo byte Java, por exemplo, vinculando um componente JSF a uma coluna de banco de dados do tipo SMALLINT ou TINYINT.
- O componente Conversor de calendário converte entre valores java.lang.String e tipos de dados java.util.Calendar. Este conversor se aplica, por exemplo, quando você se vincula a um serviço Web que possui um campo do tipo dateTime.
Nas etapas anteriores, você definiu um validador para verificar que uma entrada de temperatura em Celsius ficasse entre zero absoluto e 1000°. Nas etapas a seguir, você usará um Conversor duplo para converter a entrada do usuário ao dobro para que você possa usar o dobro para calcular o valor em Fahrenheit de uma entrada em Celsius.
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
-
Expanda a seção Conversores da Paleta. Arraste o Conversor duplo da Paleta para o componente Campo de texto.
Este conversor especifica que o componente Campo de texto retorne um objeto Dobro em vez de String. O valor padrão doubleConverter1 aparece na janela Propriedades e na janela Navegador.
-
Clique duas vezes no componente Campo de texto para abrir seu código-fonte no Editor Java.
-
Adicione o seguinte código (mostrado em negrito) ao método de ação textField1_processValueChange.
| Exemplo de código 1: Método do manipulador de eventos de alteração de valor |
public void textField1_processValueChange(ValueChangeEvent event) {
double celsiusTemp = ((Double) textField1.getText()).doubleValue();
double fahrenheitTemp = 9.0 * celsiusTemp / 5.0 + 32.0;
staticText1.setText(new Double(fahrenheitTemp));
} |
Este código define duas variáveis: celsiusTemp, o valor inserido em textField1, e fahrenheitTemp, o valor no qual celsiusTemp é convertido aplicando-se o cálculo especificado. A última linha define o novo valor de fahrenheitTemp no campo Texto estático.
Testando a aplicação
Nesta seção, você executa a aplicação com as várias entradas que demonstram possíveis erros de validação e conversão.
- Escolha Executar > Executar projeto principal para executar a aplicação.
-
Exclua 0,0 do campo de texto e pressione Enter sem inserir um valor. Verifique se um erro é exibido para o campo de texto, conforme mostrado na figura abaixo.
Este erro ocorre, na verdade, porque a propriedade required do campo de texto foi definida como true. Quando o visitante da página envia uma página, a aplicação Web realiza as verificações da entrada na seguinte ordem:
- Conversões
- Entrada obrigatória
- Validações
Observação: os eventos de alteração de valor ocorrem somente quando o valor é realmente alterado e todas as alterações são bem-sucedidas.
-
Indique vários números para testar a aplicação. A figura abaixo mostra os resultados quando você insere 100.
-
Verifique se o erro de validação é exibido quando você insere um valor fora do intervalo e o erro de conversão é exibido quando você insere um valor de string não-numérico.
A figura abaixo mostra o resultado quando você insere -1000. Observe que quando um erro de validação ou conversão ocorre, o método ouvinte de alteração de valor não é chamado e o valor no componente Texto estático não é alterado.
-
Indique uma string alfanumérica, como 20x. Como a aplicação é configurada para converter somente formatos de número, ela retorna um erro de conversão conforme mostrado na figura abaixo.
Fazendo mais: usando conversores de data/hora e números
Dois dos conversores padrão, o de números e o de data/hora, possuem suas propriedades exclusivas que permitem que você especifique o formato e o tipo de dados. Este mini-tutorial mostra como usar estes dois conversores.
A figura a seguir mostra a página que será criada nesta seção:
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
- Na janela Projetos, clique com o botão direito do mouse no nó ValidatorConverter > Páginas da Web e selecione Novo > Página JSF Visual Web. Nomeie a página como Moeda e clique em Terminar.
- Clique com o botão direito do mouse em ValidatorConverter > Páginas da Web > Currency.jsp e selecione Definir como página inicial.
- Na seção Básico do Woodstock da paleta de componentes, arraste um componente Campo de texto e solte-o na página. Na janela Propriedades, defina a propriedade label do Campo de texto como Valor em dólar:, e defina sua propriedade required como True.
- Coloque um componente Botão à direita do componente Campo de texto. Altere o texto do botão para Converter.
Observação: existe um problema conhecido que afeta a largura do componente Botão do JSF 1.2 no IE7. A solução alternativa é colocar o componente Botão em um componente de layout (Painel de grade, Painel de grupo ou Painel de layout). Redimensionar o componente de layout redimensiona automaticamente o componente Botão.
-
Arraste dois componentes Rótulo da seção Básico da Paleta para a página.
Defina o texto do primeiro rótulo como Convertido para Euros: e o texto do segundo rótulo como Data e hora:.
- Coloque os componentes Texto estático próximos a cada um desses rótulos.
-
Na seção Básico da Paleta, arraste um componente Mensagem e solte-o no rótulo Data e hora.
Mantenha as teclas Ctrl+Shift pressionadas e arraste uma linha do componente Mensagem para o componente Campo de texto.
-
Da seção Conversores da Paleta, arraste o Conversor de número e solte-o no componente Campo de texto.
O conversor de número especifica que o componente Campo de texto retorne um objeto Número em vez de uma String.
-
Na caixa de diálogo Formato de número, escolha Moeda da lista suspensa Tipo. Defina a propriedade Máx. de dígitos fracionais como 2 e o Local como Inglês (Estados Unidos), conforme mostrado na figura abaixo e clique em OK.
Observe como o padrão do Código de moeda é USD - Estados Unidos da América, dólares, a abreviação de moeda, o país e o nome da moeda associados ao Local. Escolha Locais diferentes para exibir as diversas moedas.
O Conversor de número aparece na propriedade converter da janela Propriedades e na janela Esboço.
- Arraste um Conversor de número da Paleta e solte-o no Texto estático ao lado do rótulo Convertido para Euros.
-
Na caixa de diálogo Formato de número, escolha Moeda da lista suspensa Tipo e Alemão (Alemanha) da lista suspensa Local.
Defina a propriedade Máx. de dígitos fracionais como 2 e clique em OK.
Agora, o padrão do Código de moeda é EUR - Países da Comunidade Européia, euro. (Se, por exemplo, você selecionar Alemão (Suíça), o padrão do Código de moeda será CHF - Suíça, francos porque a Suíça não está na zona do Euro).
- Arraste um Conversor de data/hora da Paleta e solte-o no Texto estático ao lado do rótulo Data/hora.
- Na janela Navegador, selecione dateTimeConverter1.
- Na janela Propriedades do conversor, clique no botão de reticências da propriedade
pattern.
-
Digite EEE, d MMM yyyy HH:mm:ss zzzz no campo Padrão e clique em OK. À medida que você adiciona elementos ao padrão, o valor atual aparece na propriedade pattern da janela Propriedades.
Observe como o valor é alterado à medida que você insere os elementos. Por exemplo, se você digitar EEEE no começo em vez de EEE, o padrão inclui o dia inteiro da semana, em vez da abreviação. Se você indicar somente um z no final, o fuso horário será abreviado.
Consulte a lição Personalizando formatos dos tutoriais Java para obter mais informações sobre como formatar datas e horas (os links externos são exibidos em uma página separada).
Adicionando código
- Clique duas vezes no botão Converter para abrir seu código-fonte no Editor Java.
-
Adicione as duas linhas a seguir imediatamente acima do método button1_action. 0,74 aproxima a taxa de câmbio de euros para dólares.
| Exemplo de código 2: Valor constante para câmbio de dólares para euros |
// constant value for dollars to euros exchange
private static final double us2euros = 0.74; |
-
Adicione o seguinte código em negrito ao método Os comentários no código indicam o que cada linha realiza.
| Amostra de código 3: valor de constante do intercâmbio de dólares para euros |
public String button1_action( ) {
// get the amount of dollars the user entered
Number dollars = (Number) textField1.getValue();
// exchange the dollars for euros
double euros = dollars.doubleValue() * us2euros;
// display the amount of euros
staticText1.setText(new Double(euros));
// figure out the date and time
Date date = new Date();
staticText2.setText(date);
return null;
} |
- Clique com o botão direito do mouse no editor de Java e escolha Corrigir importações. Selecione o Nome totalmente qualificado java.util.Date e clique em OK.
Testando a aplicação
- Execute a aplicação.
- Indique strings de vários valores, como $10. Observe as seguintes regras:
- O conversor lança uma exceção se o primeiro caractere na string de entrada não for o símbolo de moeda (neste caso, um $) ou se houver um espaço entre o símbolo de moeda e o primeiro dígito. O componente Mensagem exibe o erro.
- Você pode usar pontos como separadores, como em $1.234, mas eles não são necessários. Pontos colocados no lugar errado, mesmo à direita da vírgula decimal, são ignorados. Os pontos são exibidos no local correto após conversão.
- A inserção de mais de dois dígitos à direita da vírgula decimal resulta no arredondamento dos centavos (em reais). Isto é específico do local e é diferente em países como Japão, onde os valores de moeda raramente são exibidos com valores decimais.
A figura abaixo mostra o resultado quando você insere $100.00.
A figura a seguir mostra o resultado quando você insere o 100 sem o $. O valor convertido da figura anterior permanece, mas o erro de conversão é exibido.
Para obter mais informações sobre a formatação de números, consulte o tutorial Java Personalizando formatos (link externo exibido em página separada).
Fazendo mais: adicionando seu próprio manipulador de validação
Se os validadores padrão não realizarem a verificação de validação que você precisa, você poderá facilmente adicionar seu próprio manipulador de validação. Esta seção usa a funcionalidade da aplicação JSF Visual Web do NetBeans para criar um manipulador de validação que verifique a entrada do usuário e a restrinja a um número de três dígitos. Você pode adicionar estas etapas à página Currency.jsp criada na seção anterior.
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
- Clique no botão Design para retornar ao Visual Designer.
- Selecione o componente Campo de texto Valor em dólar e defina sua propriedade required como False.
- Na seção Básico do Woodstock da paleta de componentes, arraste um componente Campo de texto e solte-o na página. Defina a propriedade label do Campo de texto como Valor: e a propriedade required como True.
- Coloque um componente Botão à direita do componente Campo de texto. Altere o texto do botão para Enviar.
-
Coloque um componente Mensagem no componente Campo de texto. Mantenha as teclas Ctrl+Shift pressionadas e arraste uma linha do componente Mensagem para o componente Campo de texto.
O texto do componente Mensagem é alterado para Resumo da mensagem em textField2.
-
Clique com o botão direito do mouse no componente Campo de texto e escolha Editar manipulador de evento > validar.
Isto abre o Editor Java. O IDE automaticamente adiciona instruções de importação das classes ValidatorException, FacesContext e FacesMessage ao código. O ponto de inserção está no evento de validação do campo de texto. O terceiro parâmetro, value, é a string que você validará.
-
Insira o código a seguir (em negrito).
| Exemplo de código 4: Código validador personalizado |
public void textField2_validate(FacesContext context, UIComponent component, Object value) {
String s = String.valueOf(value);
if (!s.matches("\\d\\d\\d")){
throw new ValidatorException(new FacesMessage
("Não é um número de três dígitos".));
}
} |
O método matches em String s usa uma expressão regular para especificar os valores legais que a String pode aceitar. O \d corresponde a um dígito (0-9).
O caractere "\" em uma literal de string possui significado especial para o analisador do Java. Especifique um "\" extra como escape do segundo "\", garantindo que ele passe inalterado através do analisador para o intérprete de padrão. Assim, a expressão \d\d\d corresponde a qualquer número de três dígitos de 000 a 999.
Se a string não corresponder à expressão regular, uma mensagem é passada para o construtor ValidatorException. A mensagem é enfileirada em FacesMessage e exibida na página durante a fase de renderização de resposta.
- Clique com o botão direito do mouse no Editor Java e selecione Corrigir importações. Na caixa de diálogo Corrigir todas as importações, clique em OK. O IDE importa os pacotes javax.faces.validator.ValidatorException e javax.faces.application.FacesMessage.
-
Execute a aplicação. Indique strings de caracteres e números de vários tamanhos para testar a aplicação. Verifique também se o erro de validação padrão é exibido quando nenhum valor é inserido no campo de texto.
A figura abaixo mostra o resultado quando você insere um número de quatro dígitos.
Fazendo mais: personalizando uma mensagem de validador padrão
Você pode substituir as mensagens de erro incorporadas que o NetBeans IDE fornece quando uma validação padrão falha.
Crie um pacote de recursos para o projeto no qual você deseje fornecer uma mensagem personalizada. Observe que esta é uma substituição global, não ao nível de componente. Isso significa que todos os componentes obrigatórios retornam o mesmo valor.
Personalizando mensagens
Esta seção mostra como personalizar mensagens para os validadores Comprimento, Intervalo duplo e Intervalo longo no JSF 1.1 / J2EE 1.4. Como você pode ver, este é um processo um pouco mais longo que a adição de mensagens personalizadas no JSF 1.2. Use o IDE para personalizar a mensagem de erro padrão da entrada necessária. Primeiro, crie um pacote de recursos que mapeie as chaves usadas pelo programa para as strings exibidas para o usuário, em seguida, edite o faces-config.xml para apontar para o pacote de recursos MyResources.properties.
Observação: as etapas nesta seção dependem do projeto ter sido nomeado como ValidatorConverter. Se você tiver escolhido um nome diferente, ajuste todos os usos do nome do projeto para refletir o nome do seu projeto.
Observação: Vinculação sob demanda dos recursos do NetBeans IDE 6.1. Onde os componentes requerem codificação de Java, agora você deve adicionar manualmente o atributo de vinculação aos componentes em uma aplicação Visual Web JSF. Para fazê-lo, clique com o botão direito do mouse em cada componente e escolha Adicionar atributo de vinculação. Para obter mais informações, consulte o On-demand Binding Attribute Wiki.
- Na janela Projetos, clique com o botão direito do mouse em ValidatorsConverter e selecione Novo > Outro.
- No assistente para Novo arquivo, selecione Outro no campo Categorias e Arquivo de propriedades no campo Tipos de arquivo e clique em Próximo.
-
Indique MyResources no campo Nome do arquivo e digite src/java/validatorconverter no campo Pasta e clique em Terminar.
O IDE cria o conjunto de recursos e abre o arquivo MyResources.properties no IDE. O arquivo MyResources.properties fornece o texto de substituição para as mensagens usadas pelos componentes.
-
Feche o arquivo MyResources.properties.
-
Na janela Arquivos, expanda ValidatorConverter > src> java > validatorconverter, clique com o botão direito do mouse em MyResources.properties e selecione Abrir para abrir o Editor de propriedades de valores de chaves.
No Editor de propriedades de valores de chaves, você pode adicionar pares de valores de chaves ao pacote de recursos.
- Clique em Nova propriedade.
-
Na caixa de diálogo Nova propriedade, digite javax.faces.component.UIInput.REQUIRED no campo Chave. No campo Valor, digite Indique um valor e pressione Enter.
Importante: certifique-se de que não haja espaços no final da chave. Os espaços impedem que a aplicação funcione no tempo de execução.
Para obter uma lista de todas as chaves para as mensagens padrão, consulte Chaves de mensagem padrão abaixo.
-
Clique em OK. Os valores são exibidos no Editor de propriedades, conforme mostrado na figura abaixo.
- Na janela Projetos, expanda ValidatorConverter > Páginas Web > WEB-INF. Clique com o botão direito do mouse em faces-config.xml e escolha Abrir.
- Na barra de ferramentas de edição, clique em XML.
-
No arquivo faces.config, insira o seguinte código. Observe que este código contém o nome do projeto. Se o seu projeto não tiver sido nomeado ValidatorConverter, altere o texto no código conforme apropriado. Observe que você deve alterar os caracteres em maiúscula no nome do projeto para caracteres em minúscula no elemento message-bundle.
<aplicação>
<message-bundle>validatorconverter.MyResources</message-bundle>
</aplicação>
O elemento message-bundle representa um conjunto de mensagens localizadas. Este elemento contém o caminho totalmente qualificado para o pacote de recursos que contém as mensagens localizadas, neste caso, validatorconverter.MyResources.
- Executar o projeto.
-
Exclua qualquer texto no campo de texto e pressione Enter.
A mensagem personalizada aparece no campo de mensagem conforme mostrado na figura abaixo.
Teclas da mensagem padrão
No NetBeans IDE, você pode usar um pacote de recursos para lidar com mensagens informativas que ocorrem como resultado de uma conversão, validação ou outras ações da aplicação durante o ciclo de vida do processamento da requisição. As chaves que definem as mensagens são listadas na tabela seguinte.
Resumo
Neste tutorial, você aprendeu como:
- Usar conversores para converter entradas de string em valores numéricos para converter entre formatos de temperatura e valores de moeda e para exibir formatos de data.
- Usar validadores para garantir que valores inseridos estejam dentro de intervalos e formatos especificados.
- Criar o seu próprio manipulador de validação e personalizar as mensagens exibidas para os usuários.
Consulte também
Esta página foi modificada pela última vez em 15 de abril de 2008