JSP - La direttiva della pagina

Il pageviene utilizzata per fornire istruzioni al contenitore che riguardano la pagina JSP corrente. Puoi codificare le direttive della pagina ovunque nella tua pagina JSP. Per convenzione, le direttive di pagina sono codificate nella parte superiore della pagina JSP.

Di seguito è riportata la sintassi di base della direttiva di pagina:

<%@ page attribute = "value" %>

È possibile scrivere l'equivalente XML della sintassi precedente come segue:

<jsp:directive.page attribute = "value" />

Attributi

La tabella seguente elenca gli attributi associati alla direttiva della pagina:

S.No. Attributo e scopo
1

buffer

Specifica un modello di buffering per il flusso di output.

2

autoFlush

Controlla il comportamento del buffer di output del servlet.

3

contentType

Definisce lo schema di codifica dei caratteri.

4

errorPage

Definisce l'URL di un altro JSP che segnala le eccezioni di runtime non controllate Java.

5

isErrorPage

Indica se questa pagina JSP è un URL specificato dall'attributo errorPage di un'altra pagina JSP.

6

extends

Specifica una superclasse che il servlet generato deve estendere.

7

import

Specifica un elenco di pacchetti o classi da utilizzare in JSP come fa l'istruzione import Java per le classi Java.

8

info

Definisce una stringa a cui è possibile accedere con i servlet getServletInfo() metodo.

9

isThreadSafe

Definisce il modello di threading per il servlet generato.

10

language

Definisce il linguaggio di programmazione utilizzato nella pagina JSP.

11

session

Specifica se la pagina JSP partecipa o meno alle sessioni HTTP.

12

isELIgnored

Specifica se l'espressione EL all'interno della pagina JSP verrà ignorata o meno.

13

isScriptingEnabled

Determina se gli elementi di scripting possono essere utilizzati.

L'attributo buffer

Il buffer l'attributo specifica le caratteristiche di bufferizzazione per l'oggetto risposta di output del server.

Puoi codificare un valore di "none"per specificare l'assenza di buffering in modo che l'output del servlet sia immediatamente diretto all'oggetto risposta oppure è possibile codificare una dimensione massima del buffer in kilobyte, che indica al servlet di scrivere nel buffer prima di scrivere nell'oggetto risposta.

Per indirizzare il servlet a scrivere l'output direttamente nell'oggetto output di risposta, utilizzare quanto segue:

<%@ page buffer = "none" %>

Utilizzare quanto segue per indirizzare il servlet a scrivere l'output su un buffer di dimensioni non inferiori a 8 kilobyte -

<%@ page buffer = "8kb" %>

L'attributo autoFlush

Il autoFlush l'attributo specifica se l'output memorizzato nel buffer deve essere scaricato automaticamente quando il buffer viene riempito o se deve essere sollevata un'eccezione per indicare l'overflow del buffer.

Un valore di true (default) indica lo svuotamento automatico del buffer e un valore false genera un'eccezione.

La seguente direttiva fa in modo che il servlet generi un'eccezione quando il buffer di output del servlet è pieno -

<%@ page autoFlush = "false" %>

Questa direttiva fa sì che il servlet svuoti il ​​buffer di output quando è pieno -

<%@ page autoFlush = "true" %>

Di solito, il buffer e gli attributi autoFlush sono codificati su una singola direttiva di pagina come segue:

<%@ page buffer = "16kb" autoflush = "true" %>

L'attributo contentType

L'attributo contentType imposta la codifica dei caratteri per la pagina JSP e per la pagina di risposta generata. Il tipo di contenuto predefinito ètext/html, che è il tipo di contenuto standard per le pagine HTML.

Se vuoi scrivere XML dal tuo JSP, usa la seguente direttiva di pagina:

<%@ page contentType = "text/xml" %>

La seguente istruzione indica al browser di eseguire il rendering della pagina generata come HTML:

<%@ page contentType = "text/html" %>

La seguente direttiva imposta il tipo di contenuto come un documento di Microsoft Word:

<%@ page contentType = "application/msword" %>

È inoltre possibile specificare la codifica dei caratteri per la risposta. Ad esempio, se si desidera specificare che la pagina risultante restituita al browser utilizzaISO Latin 1, puoi usare la seguente direttiva di pagina:

<%@ page contentType = "text/html:charset=ISO-8859-1" %>

L'attributo errorPage

Il errorPagel'attributo indica al motore JSP quale pagina visualizzare se si verifica un errore durante l'esecuzione della pagina corrente. Il valore dell'attributo errorPage è un URL relativo.

La seguente direttiva mostra MyErrorPage.jsp quando vengono lanciate tutte le eccezioni non rilevate -

<%@ page errorPage = "MyErrorPage.jsp" %>

L'attributo isErrorPage

Il isErrorPage l'attributo indica che il JSP corrente può essere utilizzato come pagina di errore per un altro JSP.

Il valore di isErrorPage è vero o falso. Il valore predefinito dell'attributo isErrorPage è false.

Ad esempio, il file handleError.jsp imposta l'opzione isErrorPage su true perché dovrebbe gestire gli errori -

<%@ page isErrorPage = "true" %>

L'attributo extends

Il extends l'attributo specifica una superclasse che il servlet generato deve estendere.

Ad esempio, la seguente direttiva indica al traduttore JSP di generare il servlet in modo tale che il servlet si estenda somePackage.SomeClass -

<%@ page extends = "somePackage.SomeClass" %>

L'attributo di importazione

Il importl'attributo ha la stessa funzione e si comporta come l'istruzione import di Java. Il valore per l'opzione di importazione è il nome del pacchetto che si desidera importare.

Importare java.sql.*, usa la seguente direttiva di pagina -

<%@ page import = "java.sql.*" %>

Per importare più pacchetti, puoi specificarli separati da virgola come segue:

<%@ page import = "java.sql.*,java.util.*"  %>

Per impostazione predefinita, un contenitore importa automaticamente java.lang.*, javax.servlet.*, javax.servlet.jsp.*, e javax.servlet.http.*.

L'attributo info

Il infol'attributo consente di fornire una descrizione del JSP. Quello che segue è un esempio di codifica:

<%@ page info = "This JSP Page Written By ZARA"  %>

L'attributo isThreadSafe

Il isThreadSafeopzione contrassegna una pagina come thread-safe. Per impostazione predefinita, tutti i JSP sono considerati thread-safe. Se si imposta l'opzione isThreadSafe su false, il motore JSP si assicura che solo un thread alla volta stia eseguendo il JSP.

La seguente direttiva di pagina imposta il isThreadSafe opzione su false -

<%@ page isThreadSafe = "false"  %>

L'attributo della lingua

Il language attributo indica il linguaggio di programmazione utilizzato nello script della pagina JSP.

Ad esempio, poiché di solito usi Java come linguaggio di scripting, la tua opzione di lingua è simile a questa:

<%@ page language = "java" %>

L'attributo di sessione

Il sessionattributo indica se la pagina JSP utilizza o meno sessioni HTTP. Un valore true significa che la pagina JSP ha accesso a un builtinsession object e un valore false significa che la pagina JSP non può accedere all'oggetto di sessione incorporato.

La seguente direttiva consente alla pagina JSP di utilizzare uno qualsiasi dei metodi di sessione dell'oggetto incorporati come session.getCreationTime() o session.getLastAccessTime() -

<%@ page session = "true" %>

L'attributo isELIgnored

L'attributo isELIgnored offre la possibilità di disabilitare la valutazione delle espressioni EL (Expression Language) che è stata introdotta in JSP 2.0.

Il valore predefinito dell'attributo è true, il che significa che le espressioni, ${...}, vengono valutati come dettato dalla specifica JSP. Se l'attributo è impostato su false, le espressioni non vengono valutate, ma piuttosto trattate come testo statico.

La seguente direttiva imposta un'espressione da non valutare -

<%@ page isELIgnored = "false" %>

L'attributo isScriptingEnabled

Il isScriptingEnabled attributo determina se gli elementi di scripting possono essere utilizzati.

Il default value (true)abilita scriptlet, espressioni e dichiarazioni. Se il valore dell'attributo è impostato su false, verrà generato un errore in fase di traduzione se JSP utilizza scriptlet, espressioni (non EL) o dichiarazioni.

Il valore dell'attributo può essere impostato su false se si desidera limitare l'utilizzo di scriptlet, espressioni (non EL) o dichiarazioni -

<%@ page isScriptingEnabled = "false" %>