JSF - h: message

La balise h: message affiche le message correspondant à l'élément d'interface utilisateur.

Balise JSF

<h:inputText  id = "username"  size = "20" label = "UserName" required = "true"> 
   <f:validateLength for = "username" minimum = "5" maximum = "20" />    
</h:inputText> 
<h:message for = "username" style = "color:red" />

Sortie rendue

Dans le cas où le nom d'utilisateur saisi contient plus de 20 caractères.

<span style = "color:red">UserName: Validation Error:  
   Length is greater than allowable maximum of '20'</span>

Dans le cas où le nom d'utilisateur saisi est inférieur à 5 caractères.

<span style = "color:red">UserName: Validation Error:  
   Length is less than allowable minimum of '5'</span>

Au cas où le nom d'utilisateur n'est pas entré.

<span style = "color:red">UserName: Validation Error:  
   Value is required</span>

Attributs de balise

S. Non Attribut et description
1

id

Identifiant d'un composant

2

binding

Référence au composant qui peut être utilisé dans un backing bean

3

rendered

Un booléen; false supprime le rendu

4

styleClass

Nom de classe de feuille de style en cascade (CSS)

5

for

L'ID du composant dont le message est affiché, applicable uniquement à h: message

6

errorClass

Classe CSS appliquée aux messages d'erreur

sept

errorStyle

Style CSS appliqué aux messages d'erreur

8

fatalClass

Classe CSS appliquée aux messages fatals

9

fatalStyle

Style CSS appliqué aux messages fatals

dix

globalOnly

Instruction pour afficher uniquement les messages globaux, applicable uniquement aux messages h:. Valeur par défaut: faux

11

infoClass

Classe CSS appliquée aux messages d'information

12

infoStyle

Style CSS appliqué aux messages d'information

13

layout

Spécification pour la mise en page des messages: tableau ou liste, applicable uniquement à h: messages

14

showDetail

Un booléen qui détermine si les détails du message sont affichés. Les valeurs par défaut sont fausses pour h: messages, true pour h: message

15

showSummary

Un booléen qui détermine si les résumés des messages sont affichés. Les valeurs par défaut sont true pour h: messages, false pour h: message

16

tooltip

Un booléen qui détermine si les détails du message sont rendus dans une info-bulle; l'info-bulle n'est rendue que si showDetail et showSummary sont true

17

warnClass

Classe CSS pour les messages d'avertissement

18

warnStyle

Style CSS pour les messages d'avertissement

19

style

Informations de style en ligne

20

title

Un titre, utilisé pour l'accessibilité, qui décrit un élément. Les navigateurs visuels créent généralement des info-bulles pour la valeur du titre

Exemple d'application

Créons une application JSF de test pour tester la balise ci-dessus.

Étape La description
1 Créez un projet avec un nom helloworld sous un package com.tutorialspoint.test comme expliqué dans le chapitre JSF - Première application .
2 Modifiez home.xhtml comme expliqué ci-dessous. Gardez le reste des fichiers inchangé.
3 Compilez et exécutez l'application pour vous assurer que la logique métier fonctionne conformément aux exigences.
4 Enfin, créez l'application sous la forme d'un fichier war et déployez-la dans Apache Tomcat Webserver.
5 Lancez votre application Web en utilisant l'URL appropriée, comme expliqué ci-dessous à la dernière étape.

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 = "3" 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:message for = "username" style = "color:red" /> 
            <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:message for = "password" style = "color:red" />    
            <h:commandButton id = "submit" value = "Submit" action = "result"/> 
         </h:panelGrid>      
      </h:form> 
   
   </body> 
</html>

Une fois que vous êtes prêt avec tous les changements effectués, laissez-nous compiler et exécuter l'application comme nous l'avons fait dans le chapitre JSF - Première application. Si tout va bien avec votre application, cela produira le résultat suivant.