Maquetacion Con JSF
Maquetacion Con JSF
Maquetacion Con JSF
APLICACIONES WEB EN
Conceptos de maquetación
con JSF
DESARROLLO DE APLICACIONES
WEB JAVA - ADSI
Esta plantilla será la que aplicará la estructura a todas las vistas del proyecto. El código
en esta etapa del proyecto es el siguiente:
<?xml version=’1.0’ encoding=’UTF-8’ ?>
<!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”
xmlns:ui=”http://xmlns.jcp.org/jsf/facelets”
xmlns:h=”http://xmlns.jcp.org/jsf/html”>
<h:head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8” />
<title><ui:insert name=”title”>Default Title</ui:insert></title>
<h:outputStylesheet library=”css” name=”jsfcrud.css”/>
</h:head>
<h:body>
<h1>
<ui:insert name=”title”>Default Title</ui:insert>
</h1>
<p>
<ui:insert name=”body”>Default Body</ui:insert>
</p>
</h:body>
</html>
<h:head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8” />
<title><ui:insert name=”title”>Default Title</ui:insert></title>
<h:outputStylesheet library=”css” name=”jsfcrud.css”/>
</h:head>
<h:body>
<div id=”encabezado”>
<h1><ui:insert name=”header”>Sistema de Gestión Odontológica</ui:insert></h1>
</div>
<h1>
<!--ui:insert name=”title”>Default Title</ui:insert-->
</h1>
<div id=”contenido”>
<ui:insert name=”body”>Default Body</ui:insert>
</div>
</h:body>
</html>
Donde:
“action” es la ruta donde se dirigirá el enlace.
Antes de la creación de menú se deben crear las rutas. Una ruta es la asociación entre
una etiqueta y un archivo xhtml. La configuración de la rutas se realiza en el archivo
“faces-config.xml” ubicado como se muestra a continuación:
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>inicio</from-outcome>
<to-view-id>/index.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>asignar_cita</from-outcome>
<to-view-id>/citas/Create.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>consultar_cita</from-outcome>
<to-view-id>/citas/List.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
Para el menú se utilizará la etiqueta html <nav>. Una vez incluidos los cambios, el archivo
de plantilla queda como se muestra a continuación:
<h:head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8” />
<title><ui:insert name=”title”>Default Title</ui:insert></title>
<h:outputStylesheet library=”css” name=”jsfcrud.css”/>
</h:head>
<h:body>
<div id=”encabezado”>
<h1><ui:insert name=”header”>Sistema de Gestión Odontológica</ui:insert></h1>
</div>
<nav id=”menu”>
<h:form>
<ul>
<li><h:commandLink action=”inicio”>Inicio</h:commandLink></li>
<li><h:commandLink action=”asignar_cita”>Asignar Cita</h:commandLink></li>
<li><h:commandLink action=”consultar_cita”>Consultar Cita</h:commandLink></li>
</ul>
</h:form>
</nav>
<div id=”contenido”>
<ui:insert name=”body”>Default Body</ui:insert>
</div>
</h:body>
</html>
En este punto ya tenemos lista la plantilla que aplicará a todas los archivos de presentación
del proyecto. Al ejecutar el proyecto aparece lo siguiente en pantalla:
<ui:define name=”title”>
<h:outputText value=”INICIO”></h:outputText>
</ui:define>
<ui:define name=”body”>
</ui:define>
</ui:composition>
Las etiquetas “<ui:define>” sirven para definir los parámetros establecidos en la plantilla.
En este caso los parámetros “title” y “body” se definieron usando esta etiqueta. En caso
que no se diligencien los parámetros la plantilla incluirá el código por defecto.
<ui:define name=”title”>
<h:outputText value=”INICIO”></h:outputText>
</ui:define>
<ui:define name=”body”>
</ui:define>
</ui:composition>
</html>