Direttive JSP: pagina, includi & Tutorial su Taglib

Sommario:

Anonim

Cosa sono le direttive JSP?

  • Le direttive JSP sono i messaggi al contenitore JSP. Forniscono informazioni globali su un'intera pagina JSP.
  • Le direttive JSP vengono utilizzate per fornire istruzioni speciali a un contenitore per la traduzione di JSP in codice servlet.
  • Nella fase del ciclo di vita di JSP, JSP deve essere convertito in un servlet che è la fase di traduzione.
  • Forniscono istruzioni al contenitore su come gestire alcuni aspetti dell'elaborazione JSP
  • Le direttive possono avere molti attributi separati da virgole come coppie chiave-valore.
  • In JSP, la direttiva è descritta nei tag <% @%>.

Sintassi della direttiva:

<%@ directive attribute %>

Esistono tre tipi di direttive:

  1. Direttiva sulla pagina
  2. Includi direttiva
  3. Direttiva Taglib

Ciascuno di essi è descritto in dettaglio di seguito con esempi:

In questo tutorial imparerai:

  • Direttiva JSP Page
  • Direttiva Include JSP
  • Direttiva JSP Taglib

Direttiva JSP Page

Sintassi della direttiva Page:

<%@ page… %>
  • Fornisce attributi che vengono applicati all'intera pagina JSP.
  • Definisce gli attributi dipendenti dalla pagina, come il linguaggio di scripting, la pagina di errore e i requisiti di buffering.
  • Viene utilizzato per fornire istruzioni a un contenitore che riguarda la pagina JSP corrente.

Di seguito è riportato il suo elenco di attributi associati alla direttiva di pagina:

  1. linguaggio
  2. Si estende
  3. Importare
  4. tipo di contenuto
  5. Informazioni
  6. sessione
  7. isThreadSafe
  8. autoflush
  9. buffer
  10. IsErrorPage
  11. pageEncoding
  12. errorPage
  13. isELIgonored

Maggiori dettagli su ogni attributo

  1. language : definisce il linguaggio di programmazione (linguaggio sottostante) utilizzato nella pagina.

    Sintassi del linguaggio:

    <%@ page language="value" %>

    Qui il valore è il linguaggio di programmazione (linguaggio sottostante)

Esempio:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>

Spiegazione del codice: Nell'esempio precedente, il valore della lingua dell'attributo è Java, che in questo caso è la lingua sottostante. Quindi, il codice nei tag di espressione verrebbe compilato utilizzando il compilatore java.

  1. Estende : questo attributo viene utilizzato per estendere (ereditare) la classe come fa JAVA

Sintassi di estensioni:

<%@ page extends="value" %>

Qui il valore rappresenta la classe da cui deve essere ereditato.

Esempio:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>

Spiegazione del codice: Nel codice precedente JSP sta estendendo DemoClass che si trova all'interno del pacchetto demotest e estenderà tutte le funzionalità di classe.

  1. Import : questo attributo è l'attributo più utilizzato negli attributi della direttiva di pagina. Viene utilizzato per indicare al contenitore di importare altre classi java, interfacce, enumerazioni, ecc. Durante la generazione del codice servlet. È simile alle istruzioni di importazione nelle classi e interfacce java.

Sintassi di importazione :

<%@ page import="value" %>

Qui il valore indica le classi che devono essere importate.

Esempio:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>

Spiegazione del codice:

Nel codice sopra, stiamo importando la classe Date dal pacchetto java.util (tutte le classi di utilità) e può utilizzare tutti i metodi della classe seguente.

  1. contentType :
  • Definisce lo schema di codifica dei caratteri, ovvero viene utilizzato per impostare il tipo di contenuto e il set di caratteri della risposta
  • Il tipo predefinito di contentType è "text / html; charset = ISO-8859-1".

Sintassi del contentType:

<%@ page contentType="value" %>

Esempio:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>

Spiegazione del codice:

Nel codice precedente, il tipo di contenuto è impostato come testo / html, imposta la codifica dei caratteri per JSP e per la pagina di risposta generata.

  1. Informazioni
  • Definisce una stringa a cui è possibile accedere tramite il metodo getServletInfo ().
  • Questo attributo viene utilizzato per impostare la descrizione del servlet.

Sintassi delle informazioni:

<%@ page info="value" %>

Qui, il valore rappresenta le informazioni sul servlet.

Esempio:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>

Spiegazione del codice:

Nel codice sopra, la stringa "Guru Directive JSP" può essere recuperata dall'interfaccia servlet utilizzando getServletInfo ()

  1. Sessione
  • La pagina JSP crea la sessione per impostazione predefinita.
  • A volte non è necessario creare una sessione in JSP e, quindi, in questo caso possiamo impostare questo attributo su false. Il valore predefinito dell'attributo di sessione è true e la sessione viene creata.

    Quando è impostato su false, possiamo indicare al compilatore di non creare la sessione per impostazione predefinita.

Sintassi della sessione:

<%@ page session="true/false"%>

In questo caso, l'attributo di sessione può essere impostato su true o false

Esempio:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>

Spiegazione del codice:

Nell'esempio precedente, l'attributo di sessione è impostato su "false" quindi stiamo indicando che non vogliamo creare alcuna sessione in questo JSP

  1. isThreadSafe:
  • Definisce il modello di threading per il servlet generato.
  • Indica il livello di thread safety implementato nella pagina.
  • Il suo valore predefinito è vero, quindi simultaneo
  • Possiamo usare questo attributo per implementare l'interfaccia SingleThreadModel nel servlet generato.
  • Se lo impostiamo su false, implementerà SingleThreadModel e può accedere a qualsiasi oggetto condiviso e può produrre incoerenze.

Sintassi di isThreadSafe:

<% @ page isThreadSafe="true/false" %>

Qui vero o falso rappresenta se la sincronizzazione è presente, quindi impostato come vero e impostato come falso.

Esempio:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>

Spiegazione del codice:

Nel codice precedente, isThreadSafe è impostato su "true", quindi verrà eseguita la sincronizzazione e sarà possibile utilizzare più thread.

  1. AutoFlush:

Questo attributo specifica che l'output memorizzato nel buffer deve essere scaricato automaticamente o meno e il valore predefinito di quell'attributo è true.

Se il valore è impostato su false, il buffer non verrà svuotato automaticamente e se è pieno avremo un'eccezione.

Quando il buffer è nessuno, il falso è illegittimo e non c'è buffering, quindi verrà cancellato automaticamente.

Sintassi di autoFlush:

<% @ page autoFlush="true/false" %>

Qui true / false rappresenta se il buffering deve essere eseguito o meno

Esempio:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>

Spiegazione del codice:

Nel codice sopra, l'autoflush è impostato su false e quindi il buffering non verrà eseguito e ha svuotato manualmente l'output.

  1. Buffer:
  • Utilizzando questo attributo, l'oggetto risposta di output può essere memorizzato nel buffer.
  • Possiamo definire la dimensione del buffering da eseguire utilizzando questo attributo e la dimensione predefinita è 8KB.
  • Indica al servlet di scrivere il buffer prima di scrivere nell'oggetto risposta.

Sintassi del buffer:

<%@ page buffer="value" %>

Qui il valore rappresenta la dimensione del buffer che deve essere definito. Se non è presente alcun buffer, possiamo scrivere come nessuno e se non menzioniamo alcun valore, il valore predefinito è 8KB

Esempio:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>

Spiegazione del codice:

Nel codice precedente, la dimensione del buffer è menzionata come 16 KB in cui il buffer sarebbe di quella dimensione

  1. isErrorPage:
  • Indica che la pagina JSP che ha una pagina di errore verrà controllata in un'altra pagina JSP
  • Qualsiasi file JSP dichiarato con l'attributo "isErrorPage" è quindi in grado di ricevere eccezioni da altre pagine JSP che hanno pagine di errore.
  • Le eccezioni sono disponibili solo per queste pagine.
  • Il valore predefinito è falso.

Sintassi di isErrorPage:

<%@ page isErrorPage="true/false"%>

Esempio:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>

Spiegazione del codice:

Nel codice sopra, isErrorPage è impostato come true. Quindi, controllerà che qualsiasi altro JSP abbia impostato l'attributo errorPage (descritto nel prossimo attributo) e può gestire le eccezioni.

  1. PageEncoding:
L'attributo "pageEncoding" definisce la codifica dei caratteri per la pagina JSP.

Il valore predefinito è "ISO-8859-1" se non è specificato alcun altro.

Sintassi della pagina Codifica:

<%@ page pageEncoding="vaue" %>

Qui valore specifica il valore del set di caratteri per JSP

Esempio:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>

Spiegazione del codice:

Nel codice precedente "pageEncoding" è stato impostato sul set di caratteri predefinito ISO-8859-1

  1. errorPage:
Questo attributo viene utilizzato per impostare la pagina di errore per la pagina JSP se JSP genera un'eccezione e quindi reindirizza alla pagina dell'eccezione.

Sintassi di errorPage:

<%@ page errorPage="value" %>

Qui il valore rappresenta il valore della pagina JSP di errore

Esempio:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>

Spiegazione del codice:

Nel codice sopra, per gestire le eccezioni abbiamo errroHandler.jsp

  1. isELIgnored:
  • IsELIgnored è un attributo flag in cui dobbiamo decidere se ignorare o meno i tag EL.
  • Il suo tipo di dati è java enum e il valore predefinito è false, quindi EL è abilitato per impostazione predefinita.

Sintassi di isELIgnored:

<%@ page isELIgnored="true/false" %>

Qui, vero / falso rappresenta il valore di EL indipendentemente dal fatto che debba essere ignorato o meno.

Esempio:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>

Spiegazione del codice:

Nel codice sopra, isELIgnored è vero e quindi Expression Language (EL) viene ignorato qui.

Nell'esempio seguente stiamo usando quattro attributi (riga di codice 1-2)

Esempio con quattro attributi

<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%> Guru della direttiva JSP1  La data è: <% = new java.util.Date ()%>

Spiegazione del codice:

Riga di codice 1-2: qui abbiamo definito quattro attributi, ad es

  • Linguaggio: è impostato come Java come linguaggio di programmazione
  • contentType: impostato come text / html per dire al compilatore che html deve essere formattato
  • pageEncoding: il set di caratteri predefinito è impostato in questo attributo
  • isELIgnored: Expression Tag è falso, quindi non viene ignorato

Riga di codice 3: qui abbiamo usato l'attributo import e sta importando la "Classe della data" che proviene dal pacchetto Java util, e stiamo cercando di visualizzare la data corrente nel codice.

Quando esegui il codice sopra, otterrai il seguente output

Uscita :

  • La data è: la data corrente utilizzando il metodo date della classe date

Direttiva Include JSP

  • La "direttiva include" JSP (linea di codice 8) viene utilizzata per includere un file in un altro file
  • Questo file incluso può essere HTML, JSP, file di testo, ecc.
  • È anche utile per creare modelli con le visualizzazioni utente e suddividere le pagine in azioni di intestazione e piè di pagina e barra laterale.
  • Include file durante la fase di traduzione

Sintassi della direttiva include:

<%@ include… .%>

Esempio:

Direttiva_jsp2.jsp (file principale)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "Directive_header_jsp3.jsp"%> Direttiva Guru JSP2  Questo è il file principale 

Directive_header_jsp3.jsp (che è incluso nel file principale)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> File di intestazione: <% int count = 1; count ++;out.println (count);%>:

Spiegazione del codice:

Direttiva_jsp2.jsp:

Riga di codice 3: in questo codice, utilizziamo i tag include in cui includiamo il file direttiva_header_jsp3.jsp nel file principale (_jsp2.jsp) e otteniamo l'output sia del file principale che del file incluso.

Directive_header_jsp3.jsp:

Riga codice 11-12: abbiamo preso un conteggio variabile inizializzato a 1 e poi lo abbiamo incrementato. Questo darà l'output nel file principale come mostrato di seguito.

Quando esegui il codice sopra, ottieni il seguente output:

Produzione:

  • L'output è il file di intestazione: 2: questo è il file principale
  • L'output viene eseguito dal file direttiva_jsp2.jsp mentre il file incluso direttiva_header_jsp3.jsp verrà compilato per primo.
  • Dopo che il file incluso è terminato, viene eseguito il file principale e l'output sarà dal file principale "Questo è il file principale". Quindi otterrai l'output come "File di intestazione: 2" da _jsp3.jsp e "Questo è il file principale" da _jsp2.jsp.

Direttiva JSP Taglib

  • La direttiva taglib JSP viene utilizzata per definire la libreria di tag con "taglib" come prefisso, che possiamo usare in JSP.
  • Maggiori dettagli saranno trattati nella sezione Tag personalizzati JSP
  • La direttiva taglib JSP viene utilizzata nelle pagine JSP utilizzando le librerie di tag standard JSP
  • Utilizza una serie di tag personalizzati, identifica la posizione della libreria e fornisce i mezzi per identificare i tag personalizzati nella pagina JSP.

Sintassi della direttiva taglib:

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

Qui l'attributo "uri" è un identificatore univoco nel descrittore della libreria di tag e l'attributo "prefix" è un nome di tag.

Esempio:

<% @ 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"%> Direttiva Guru JSP 

Spiegazione del codice:

Riga di codice 3: qui "taglib" è definito con attributi uri e prefisso.

Riga di codice 9: "gurutag" è il tag personalizzato definito e può essere utilizzato ovunque