Directivas JSP: página, incluir & Tutorial de Taglib

Tabla de contenido:

Anonim

¿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:

  1. Directiva de página
  2. Incluir directiva
  3. 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:

  1. Idioma
  2. Se extiende
  3. Importar
  4. tipo de contenido
  5. info
  6. sesión
  7. isThreadSafe
  8. autoflush
  9. buffer
  10. IsErrorPage
  11. pageEncoding
  12. errorPage
  13. isELIgonored

Más detalles sobre cada atributo

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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 ()

  1. 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.

  1. 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.

  1. 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.

  1. 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

  1. 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.

  1. Codificación de página:
El atributo "pageEncoding" define la codificación de caracteres para la página JSP.

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

  1. errorPage:
Este atributo se utiliza para establecer la página de error para la página JSP si JSP lanza una excepción y luego redirige a la página de excepción.

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

  1. 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 ()%>

Explicación del código:

Línea de código 1-2: Aquí hemos definido cuatro atributos, es decir

  • Idioma: está configurado como Java como lenguaje de programación
  • contentType: establecido como texto / html para decirle al compilador que html debe tener formato
  • pageEncoding: el juego de caracteres predeterminado se establece en este atributo
  • isELIgnored: La etiqueta de expresión es falsa, por lo que no se ignora

Línea de código 3: Aquí hemos usado el atributo de importación, y está importando "Clase de fecha" que es del paquete util de Java, y estamos tratando de mostrar la fecha actual en el código.

Cuando ejecute el código anterior, obtendrá el siguiente resultado

Salida :

  • La fecha es: fecha actual utilizando el método de fecha de la clase de fecha

Directiva JSP Incluir

  • JSP "incluye directiva" (línea de código 8) se utiliza para incluir un archivo en otro archivo
  • Este archivo incluido puede ser HTML, JSP, archivos de texto, etc.
  • También es útil para crear plantillas con las vistas del usuario y dividir las páginas en acciones de encabezado y pie de página y barra lateral.
  • Incluye archivo durante la fase de traducción

Sintaxis de la directiva include:

<%@ include… .%>

Ejemplo:

Directive_jsp2.jsp (archivo principal)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "directive_header_jsp3.jsp"%> Directiva Guru JSP2  Este es el archivo principal 

Directive_header_jsp3.jsp (que se incluye en el archivo principal)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Archivo de encabezado: <% int count = 1; contar ++;out.println (recuento);%>:

Explicación del código:

Directive_jsp2.jsp:

Línea de código 3: En este código, usamos etiquetas de inclusión en las que incluimos el archivo directive_header_jsp3.jsp en el archivo principal (_jsp2.jsp) y obtiene la salida tanto del archivo principal como del archivo incluido.

Directive_header_jsp3.jsp:

Línea de código 11-12: Hemos tomado un recuento de variables inicializado a 1 y luego lo hemos incrementado. Esto dará la salida en el archivo principal como se muestra a continuación.

Cuando ejecuta el código anterior, obtiene el siguiente resultado:

Producción:

  • La salida es un archivo de encabezado: 2: este es el archivo principal
  • La salida se ejecuta desde el archivo directive_jsp2.jsp mientras que el archivo incluido directive_header_jsp3.jsp se compilará primero.
  • Una vez hecho el archivo incluido, se ejecuta el archivo principal y la salida será del archivo principal "Este es el archivo principal". Entonces obtendrá la salida como "Archivo de encabezado: 2" de _jsp3.jsp y "Este es el archivo principal" de _jsp2.jsp.

Directiva JSP Taglib

  • La directiva JSP taglib se usa para definir la biblioteca de etiquetas con "taglib" como prefijo, que podemos usar en JSP.
  • Se tratarán más detalles en la sección Etiquetas personalizadas JSP
  • La directiva JSP taglib se utiliza en las páginas JSP utilizando las bibliotecas de etiquetas estándar JSP
  • Utiliza un conjunto de etiquetas personalizadas, identifica la ubicación de la biblioteca y proporciona medios para identificar etiquetas personalizadas en la página JSP.

Sintaxis de la directiva taglib:

<%@ taglib uri="uri" prefix="value"%>

Aquí el atributo "uri" es un identificador único en el descriptor de la biblioteca de etiquetas y el atributo "prefijo" es un nombre de etiqueta.

Ejemplo:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ taglib prefix = "gurutag" uri = "http://java.sun.com/jsp/jstl/core"%> Directiva Guru JSP 

Explicación del código:

Línea de código 3: Aquí "taglib" se define con los atributos uri y prefijo.

Línea de código 9: "gurutag" es la etiqueta personalizada definida y se puede utilizar en cualquier lugar