¿Qué son las Directivas JSP?
- Las directivas JSP son los mensajes al contenedor JSP. Proporcionan información global sobre una página JSP completa.
- Las directivas JSP se utilizan para dar instrucciones especiales a un contenedor para la traducción de JSP a código de servlet.
- En la fase del ciclo de vida de JSP, JSP debe convertirse en un servlet que es la fase de traducción.
- Dan instrucciones al contenedor sobre cómo manejar ciertos aspectos del procesamiento JSP.
- Las directivas pueden tener muchos atributos separados por comas como pares clave-valor.
- En JSP, la directiva se describe en etiquetas <% @%>.
Sintaxis de la directiva:
<%@ directive attribute %>
Hay tres tipos de directivas:
- Directiva de página
- Incluir directiva
- Directiva taglib
Cada uno de ellos se describe en detalle a continuación con ejemplos:
En este tutorial, aprenderá:
- Directiva de página JSP
- Directiva JSP Incluir
- Directiva JSP Taglib
Directiva de página JSP
Sintaxis de la directiva Page:
<%@ page… %>
- Proporciona atributos que se aplican a toda la página JSP.
- Define los atributos que dependen de la página, como el lenguaje de programación, la página de error y los requisitos de almacenamiento en búfer.
- Se utiliza para proporcionar instrucciones a un contenedor que pertenece a la página JSP actual.
A continuación se muestra su lista de atributos asociados con la directiva de página:
- Idioma
- Se extiende
- Importar
- tipo de contenido
- info
- sesión
- isThreadSafe
- autoflush
- buffer
- IsErrorPage
- pageEncoding
- errorPage
- isELIgonored
Más detalles sobre cada atributo
- language : define el lenguaje de programación (lenguaje subyacente) que se utiliza en la página.
Sintaxis del lenguaje:
<%@ page language="value" %>
Aquí el valor es el lenguaje de programación (lenguaje subyacente)
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Explicación del código: En el ejemplo anterior, el valor del lenguaje de atributo es Java, que es el lenguaje subyacente en este caso. Por lo tanto, el código de las etiquetas de expresión se compilaría utilizando el compilador java.
- Extiende : este atributo se usa para extender (heredar) la clase como lo hace JAVA
Sintaxis de extiende:
<%@ page extends="value" %>
Aquí el valor representa la clase de la que debe heredarse.
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>
Explicación del código: En el código anterior, JSP está extendiendo DemoClass que está dentro del paquete demotest, y extenderá todas las características de la clase.
- Importar : este atributo es el atributo más utilizado en los atributos de la directiva de página. Se utiliza para decirle al contenedor que importe otras clases de Java, interfaces, enumeraciones, etc. mientras se genera el código de servlet. Es similar a las declaraciones de importación en las clases de Java, interfaces.
Sintaxis de importación :
<%@ page import="value" %>
Aquí el valor indica las clases que deben importarse.
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>
Explicación del código:
En el código anterior, estamos importando la clase Date del paquete java.util (todas las clases de utilidad), y puede usar todos los métodos de la siguiente clase.
- contentType :
- Define el esquema de codificación de caracteres, es decir, se utiliza para establecer el tipo de contenido y el conjunto de caracteres de la respuesta.
- El tipo predeterminado de contentType es "text / html; charset = ISO-8859-1".
Sintaxis del contentType:
<%@ page contentType="value" %>
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Explicación del código:
En el código anterior, el tipo de contenido se establece como texto / html, establece la codificación de caracteres para JSP y para la página de respuesta generada.
- info
- Define una cadena a la que se puede acceder mediante el método getServletInfo ().
- Este atributo se utiliza para establecer la descripción del servlet.
Sintaxis de la información:
<%@ page info="value" %>
Aquí, el valor representa la información del servlet.
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>
Explicación del código:
En el código anterior, la interfaz del servlet puede recuperar la cadena "Guru Directive JSP" usando getServletInfo ()
- Sesión
- La página JSP crea una sesión de forma predeterminada.
- A veces no necesitamos crear una sesión en JSP y, por lo tanto, podemos establecer este atributo en falso en ese caso. El valor predeterminado del atributo de sesión es verdadero y se crea la sesión.
Cuando se establece en falso, podemos indicarle al compilador que no cree la sesión de forma predeterminada.
Sintaxis de la sesión:
<%@ page session="true/false"%>
Aquí, en este caso, el atributo de sesión se puede establecer en verdadero o falso
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>
Explicación del código:
En el ejemplo anterior, el atributo de sesión se establece en "falso", por lo que estamos indicando que no queremos crear ninguna sesión en esta JSP.
- isThreadSafe:
- Define el modelo de subprocesamiento para el servlet generado.
- Indica el nivel de seguridad de subprocesos implementado en la página.
- Su valor predeterminado es verdadero tan simultáneo
- Podemos usar este atributo para implementar la interfaz SingleThreadModel en el servlet generado.
- Si lo configuramos como falso, implementará SingleThreadModel y podrá acceder a cualquier objeto compartido y puede generar inconsistencias.
Sintaxis de isThreadSafe:
<% @ page isThreadSafe="true/false" %>
Aquí, verdadero o falso representa si la sincronización está allí, luego configúrelo como verdadero y configúrelo como falso.
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>
Explicación del código:
En el código anterior, isThreadSafe se establece en "true", por lo que se realizará la sincronización y se pueden utilizar varios subprocesos.
- AutoFlush:
Este atributo especifica que la salida almacenada en búfer debe eliminarse automáticamente o no y el valor predeterminado de ese atributo es verdadero.
Si el valor se establece en falso, el búfer no se vaciará automáticamente y, si está lleno, obtendremos una excepción.
Cuando el búfer es ninguno, entonces el falso es ilegítimo y no hay almacenamiento en búfer, por lo que se eliminará automáticamente.
Sintaxis de autoFlush:
<% @ page autoFlush="true/false" %>
Aquí verdadero / falso representa si se debe realizar el almacenamiento en búfer o no
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>
Explicación del código:
En el código anterior, el autoflush se establece en falso y, por lo tanto, no se realizará el almacenamiento en búfer y se eliminó manualmente la salida.
- Buffer:
- Con este atributo, el objeto de respuesta de salida puede almacenarse en búfer.
- Podemos definir el tamaño del almacenamiento en búfer mediante este atributo y el tamaño predeterminado es 8 KB.
- Indica al servlet que escriba en el búfer antes de escribir en el objeto de respuesta.
Sintaxis del búfer:
<%@ page buffer="value" %>
Aquí el valor representa el tamaño del búfer que debe definirse. Si no hay búfer, podemos escribir como ninguno, y si no mencionamos ningún valor, el valor predeterminado es 8KB.
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>
Explicación del código:
En el código anterior, el tamaño del búfer se menciona como 16 KB, donde el búfer sería de ese tamaño
- isErrorPage:
- Indica que la página JSP que tiene un errorPage se comprobará en otra página JSP
- Cualquier archivo JSP declarado con el atributo "isErrorPage" es capaz de recibir excepciones de otras páginas JSP que tienen páginas de error.
- Las excepciones están disponibles solo para estas páginas.
- El valor predeterminado es falso.
Sintaxis de isErrorPage:
<%@ page isErrorPage="true/false"%>
Ejemplo:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>
Explicación del código:
En el código anterior, isErrorPage se establece como verdadero. Por lo tanto, verificará que cualquier otra JSP tenga un conjunto de atributos errorPage (descrito en el siguiente atributo) y pueda manejar excepciones.
- Codificación de página:
El valor predeterminado se especifica como "ISO-8859-1" si no se especifica ningún otro.
Sintaxis de pageEncoding:
<%@ page pageEncoding="vaue" %>
Aquí el valor especifica el valor del juego de caracteres para JSP
Ejemplo:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>
Explicación del código:
En el código anterior, "pageEncoding" se ha establecido en el juego de caracteres predeterminado ISO-8859-1
- errorPage:
Sintaxis de errorPage:
<%@ page errorPage="value" %>
Aquí el valor representa el valor de la página JSP de error
Ejemplo:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>
Explicación del código:
En el código anterior, para manejar excepciones tenemos errroHandler.jsp
- isELIgnored:
- IsELIgnored es un atributo de bandera en el que tenemos que decidir si ignorar las etiquetas EL o no.
- Su tipo de datos es java enum, y el valor predeterminado es falso, por lo que EL está habilitado de forma predeterminada.
Sintaxis de isELIgnored:
<%@ page isELIgnored="true/false" %>
Aquí, verdadero / falso representa el valor de EL si debe ignorarse o no.
Ejemplo:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>
Explicación del código:
En el código anterior, isELIgnored es verdadero y, por lo tanto, el lenguaje de expresión (EL) se ignora aquí.
En el siguiente ejemplo, estamos usando cuatro atributos (línea de código 1-2)
Ejemplo con cuatro atributos
<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%>Gurú directivo JSP1 La fecha es: <% = new java.util.Date ()%>