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" %>