II.5 Las etiquetas de JSF

En Java Server Faces todo se maneja con etiquetas <h: …. /> y <f: …./>.

Como JSF se basa en la filosofía de componentes que interactúan con el servidor de forma independiente, no se manejan las etiquetas HTLM, como <form>, <input>, <select>, sino etiquetas para los componentes de JSF, como son por ejemplo <h:form>, <h:inputText>, <h:selectOneListBox>. Los componentes JSF brindan funcionalidad del lado del servidor, como conversiones de tipo, formateo, la posibilidad de definir campos de texto obligatorios, entre otras.



En cualquier etiqueta se pueden accesar los métodos y los atributos de un bean con la siguiente sintaxis:


#{nombreBean.atributoBean}
#{nombreBean.metodoBean()}


Las tres etiquetas básicas son:

<h:inputText…./>para campos de texto. En el siguiente ejemplo, junto al campo de texto se pone la etiqueta nombre del campo.<h:inputtext pt:placeholder="nombre del campo"/>

<h:commandButton…. />para botones.Es común utilizar los botones para la navegación implícita, es decir, en el action se pone el nombre de la vista a la que se va a transferir el control. No se necesita poner la extensión, como en el siguiente ejemplo, en el que el botón con la etiqueta "ir a página 2" nos lleva a la vista que se llama "pagina2":

<h:commandButton value ="ir a pagina 2" action ="pagina2">


El otro uso de commandButton es transferir el control hacia el método de un bean, como en el siguiente ejemplo, en el que al seleccionar el botón "Ingresar" el control pasa al método validarUsuario() del bean loginBean.

<h:commandButton value="Ingresar" action="#{loginBean.validarUsuario}"/>


<h:commandLink action="PaginaDestino" value="Etiqueta" /> para poner ligas a otras páginas, en action se pone el nombre de la página a la que se transfiere el control cuando se da click en el enlace, y en value las palabras que aparecen en el enlace

Mas adelante, en la sección de los componentes de la interfaz de usuario, estudiaremos más ejemplos con otros componentes.