JSF - h: mensaje

La etiqueta h: message muestra el mensaje correspondiente al elemento UI.

Etiqueta 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" />

Salida renderizada

En caso de que el nombre de usuario ingresado tenga más de 20 caracteres.

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

En caso de que el nombre de usuario ingresado tenga menos de 5 caracteres.

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

En caso de que no se ingrese el nombre de usuario.

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

Atributos de etiqueta

S. No Atributo y descripción
1

id

Identificador de un componente

2

binding

Referencia al componente que se puede utilizar en un bean de respaldo

3

rendered

Un booleano; falso suprime la representación

4

styleClass

Nombre de clase de hoja de estilo en cascada (CSS)

5

for

El ID del componente cuyo mensaje se muestra, aplicable solo al mensaje h:

6

errorClass

Clase CSS aplicada a mensajes de error

7

errorStyle

Estilo CSS aplicado a mensajes de error

8

fatalClass

Clase CSS aplicada a mensajes fatales

9

fatalStyle

Estilo CSS aplicado a mensajes fatales

10

globalOnly

Instrucción para mostrar solo mensajes globales, aplicable solo a h: messages. Predeterminado: falso

11

infoClass

Clase CSS aplicada a mensajes de información

12

infoStyle

Estilo CSS aplicado a mensajes de información

13

layout

Especificación para el diseño de mensajes: tabla o lista, aplicable solo a h: mensajes

14

showDetail

Un booleano que determina si se muestran los detalles del mensaje. Los valores predeterminados son falsos para h: mensajes, verdaderos para h: mensaje

15

showSummary

Un valor booleano que determina si se muestran resúmenes de mensajes. Los valores predeterminados son verdaderos para h: mensajes, falsos para h: mensaje

dieciséis

tooltip

Un booleano que determina si los detalles del mensaje se representan en una descripción emergente; la información sobre herramientas solo se representa si showDetail y showSummary son verdaderos

17

warnClass

Clase CSS para mensajes de advertencia

18

warnStyle

Estilo CSS para mensajes de advertencia

19

style

Información de estilo en línea

20

title

Un título, usado para accesibilidad, que describe un elemento. Los navegadores visuales suelen crear información sobre herramientas para el valor del título

Aplicación de ejemplo

Creemos una aplicación JSF de prueba para probar la etiqueta anterior.

Paso Descripción
1 Cree un proyecto con un nombre helloworld en un paquete com.tutorialspoint.test como se explica en el capítulo JSF - Primera aplicación .
2 Modifique home.xhtml como se explica a continuación. Mantenga el resto de los archivos sin cambios.
3 Compile y ejecute la aplicación para asegurarse de que la lógica empresarial funcione según los requisitos.
4 Finalmente, compile la aplicación en forma de archivo war e impleméntela en Apache Tomcat Webserver.
5 Inicie su aplicación web utilizando la URL adecuada como se explica a continuación en el último paso.

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>

Una vez que esté listo con todos los cambios realizados, compilemos y ejecutemos la aplicación como lo hicimos en JSF - Capítulo Primera aplicación. Si todo está bien con su aplicación, esto producirá el siguiente resultado.