JSF - h: mensagens
A tag h: messages mostra todas as mensagens em um local correspondente aos elementos da IU.
Tag JSF
<h:messages style = "color:red;margin:8px;" />
Saída renderizada
Caso: o nome de usuário inserido tem mais de 20 caracteres e a senha inserida tem menos de 5 caracteres.
<ul style = "color:red;margin:8px;">
<li> UserName: Validation Error:
Length is greater than allowable maximum of '20' </li>
<li> Password: Validation Error:
Length is less than allowable minimum of '5' </li>
</ul>
Atributos de tag
S.No | Atributo e descrição |
---|---|
1 | id Identificador para um componente |
2 | binding Referência ao componente que pode ser usado em um backing bean |
3 | rendered Um booleano; falso suprime a renderização |
4 | styleClass Nome da classe da folha de estilo em cascata (CSS) |
5 | for O ID do componente cuja mensagem é exibida, aplicável apenas a h: mensagem |
6 | errorClass Classe CSS aplicada a mensagens de erro |
7 | errorStyle Estilo CSS aplicado a mensagens de erro |
8 | fatalClass Classe CSS aplicada a mensagens fatais |
9 | fatalStyle Estilo CSS aplicado a mensagens fatais |
10 | globalOnly Instrução para exibir apenas mensagens globais, aplicável apenas a mensagens h:. Padrão: falso |
11 | infoClass Classe CSS aplicada a mensagens de informação |
12 | infoStyle Estilo CSS aplicado a mensagens de informação |
13 | layout Especificação para layout de mensagem: tabela ou lista, aplicável apenas a h: mensagens |
14 | showDetail Um booleano que determina se os detalhes da mensagem são mostrados. Os padrões são falsos para h: messages, true para h: message |
15 | showSummary Um booleano que determina se os resumos das mensagens são mostrados. Os padrões são verdadeiros para h: messages, false para h: message |
16 | tooltip Um booleano que determina se os detalhes da mensagem são renderizados em uma dica de ferramenta; a dica de ferramenta só é renderizada se showDetail e showSummary forem verdadeiros |
17 | warnClass Classe CSS para mensagens de aviso |
18 | warnStyle Estilo CSS para mensagens de aviso |
19 | style Informação de estilo inline |
20 | title Um título, usado para acessibilidade, que descreve um elemento. Navegadores visuais normalmente criam dicas de ferramentas para o valor do título |
Aplicação de exemplo
Vamos criar um aplicativo JSF de teste para testar a tag acima.
Degrau | Descrição |
---|---|
1 | Crie um projeto com o nome helloworld sob um pacote com.tutorialspoint.test conforme explicado no capítulo JSF - Primeira Aplicação . |
2 | Modifique home.xhtml conforme explicado abaixo. Mantenha o resto dos arquivos inalterados. |
3 | Compile e execute o aplicativo para ter certeza de que a lógica de negócios está funcionando de acordo com os requisitos. |
4 | Por fim, construa o aplicativo na forma de um arquivo war e implante-o no Apache Tomcat Webserver. |
5 | Inicie seu aplicativo da web usando o URL apropriado, conforme explicado abaixo na última etapa. |
home.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title>JSF Tutorial!</title>
</head>
<body>
<h2>h:messages example</h2>
<hr />
<h:form>
<h:panelGrid id = "panel" columns = "2" border = "0" cellpadding = "10"
cellspacing = "1">
<h:outputLabel value = "Enter Username" />
<h:inputText id = "username" size = "20" label = "UserName"
required = "true">
<f:validateLength for = "username" minimum = "5" maximum = "20" />
</h:inputText>
<h:outputLabel value = "Enter Password" />
<h:inputSecret id = "password" size = "20" label = "Password"
required = "true" redisplay = "true" >
<f:validateLength for = "password" minimum = "5" maximum = "10" />
</h:inputSecret>
<h:commandButton id = "submit" value = "Submit" action = "result"/>
</h:panelGrid>
<h:messages style = "color:red;margin:8px;" />
</h:form>
</body>
</html>
Assim que você estiver pronto com todas as mudanças feitas, vamos compilar e rodar a aplicação como fizemos no capítulo JSF - Primeira Aplicação. Se tudo estiver bem com sua aplicação, isso produzirá o seguinte resultado: