Směrnice JSP: Stránka, Zahrnout & Výukový program Taglib

Obsah:

Anonim

Co jsou směrnice JSP?

  • Direktivy JSP jsou zprávy do kontejneru JSP. Poskytují globální informace o celé stránce JSP.
  • Směrnice JSP se používají k poskytnutí speciální instrukce kontejneru pro překlad JSP do kódu servletu.
  • Ve fázi životního cyklu JSP musí být JSP převedeno na servlet, což je fáze překladu.
  • Dávají pokyny kontejneru, jak zacházet s určitými aspekty zpracování JSP
  • Směrnice mohou mít mnoho atributů oddělených čárkami jako páry klíč – hodnota.
  • V JSP je směrnice popsána ve značkách <% @%>.

Syntaxe směrnice:

<%@ directive attribute %>

Existují tři typy směrnic:

  1. Direktiva stránky
  2. Zahrnout směrnici
  3. Směrnice Taglib

Každý z nich je podrobně popsán níže s příklady:

V tomto výukovém programu se naučíte -

  • Směrnice JSP Page
  • JSP Zahrnout směrnici
  • Směrnice JSP Taglib

Směrnice JSP Page

Syntaxe direktivy stránky:

<%@ page… %>
  • Poskytuje atributy, které se použijí na celou stránku JSP.
  • Definuje atributy závislé na stránce, například skriptovací jazyk, chybová stránka a požadavky na ukládání do vyrovnávací paměti.
  • Používá se k poskytování pokynů ke kontejneru, který se týká aktuální stránky JSP.

Následuje seznam jejích atributů přidružených k direktivě stránky:

  1. Jazyk
  2. Rozšiřuje
  3. Import
  4. typ obsahu
  5. informace
  6. zasedání
  7. isThreadSafe
  8. autoflush
  9. nárazník
  10. IsErrorPage
  11. kódování stránky
  12. errorPage
  13. isELIgonored

Více podrobností o každém atributu

  1. jazyk : Definuje programovací jazyk (základní jazyk) používaný na stránce.

    Syntaxe jazyka:

    <%@ page language="value" %>

    Zde je hodnota programovacího jazyka (základní jazyk)

Příklad:

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

Vysvětlení kódu: Ve výše uvedeném příkladu je hodnotou jazyka atributu Java, která je v tomto případě základním jazykem. Proto by kód ve značkách výrazů byl kompilován pomocí kompilátoru Java.

  1. Extends : Tento atribut se používá k rozšíření (zdědění) třídy, jako to dělá JAVA

Syntaxe přípon:

<%@ page extends="value" %>

Zde hodnota představuje třídu, ze které je třeba ji zdědit.

Příklad:

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

Vysvětlení kódu: Ve výše uvedeném kódu JSP rozšiřuje DemoClass, který je v balíčku demotestu, a rozšíří všechny funkce třídy.

  1. Import : Tento atribut je nejpoužívanějším atributem v atributech direktivy stránky. Slouží ke sdělení kontejneru, aby při generování kódu servletu importoval jiné třídy Java, rozhraní, výčty atd. Je to podobné jako příkazy importu ve třídách Java, rozhraních.

Syntaxe importu :

<%@ page import="value" %>

Zde hodnota označuje třídy, které je třeba importovat.

Příklad:

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

Vysvětlení kódu:

Ve výše uvedeném kódu importujeme třídu Date z balíčku java.util (všechny třídy nástrojů) a může používat všechny metody následující třídy.

  1. typ obsahu :
  • Definuje schéma kódování znaků, tj. Slouží k nastavení typu obsahu a znakové sady odpovědi
  • Výchozí typ contentType je „text / html; charset = ISO-8859-1“.

Syntaxe typu obsahu:

<%@ page contentType="value" %>

Příklad:

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

Vysvětlení kódu:

Ve výše uvedeném kódu je typ obsahu nastaven jako text / html, nastavuje kódování znaků pro JSP a pro generovanou stránku odpovědi.

  1. informace
  • Definuje řetězec, ke kterému lze přistupovat metodou getServletInfo ().
  • Tento atribut se používá k nastavení popisu servletu.

Syntaxe informací:

<%@ page info="value" %>

Zde hodnota představuje informace servletu.

Příklad:

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

Vysvětlení kódu:

Ve výše uvedeném kódu lze řetězec „Guru směrnice JSP“ načíst rozhraním servletu pomocí getServletInfo ()

  1. Zasedání
  • Stránka JSP ve výchozím nastavení vytváří relaci.
  • Někdy nepotřebujeme, aby byla relace vytvořena v JSP, a proto můžeme v tomto případě nastavit tento atribut na hodnotu false. Výchozí hodnota atributu relace je true a relace je vytvořena.

    Když je nastavena na hodnotu false, můžeme označit kompilátor, aby relaci ve výchozím nastavení nevytvořil.

Syntaxe relace:

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

V tomto případě lze atribut relace nastavit na true nebo false

Příklad:

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

Vysvětlení kódu:

Ve výše uvedeném příkladu je atribut relace nastaven na hodnotu „false“, proto naznačujeme, že v tomto JSP nechceme vytvářet žádnou relaci.

  1. isThreadSafe:
  • Definuje model vláken pro generovaný servlet.
  • Označuje úroveň bezpečnosti podprocesu implementovanou na stránce.
  • Jeho výchozí hodnota je pravdivá, takže současně
  • Tento atribut můžeme použít k implementaci rozhraní SingleThreadModel do generovaného servletu.
  • Pokud jej nastavíme na hodnotu false, bude implementovat SingleThreadModel a bude mít přístup ke všem sdíleným objektům a může vést k nekonzistenci.

Syntaxe isThreadSafe:

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

Zde true nebo false představuje, pokud je tam synchronizace, pak nastavte jako true a nastavte ji jako false.

Příklad:

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

Vysvětlení kódu:

Ve výše uvedeném kódu je isThreadSafe nastaveno na „true“, proto bude provedena synchronizace a lze použít více vláken.

  1. AutoFlush:

Tento atribut určuje, že výstup ve vyrovnávací paměti by měl být automaticky vyprázdněn nebo ne a výchozí hodnota tohoto atributu je true.

Pokud je hodnota nastavena na hodnotu false, vyrovnávací paměť nebude automaticky vyprázdněna a pokud je plná, získáme výjimku.

Pokud vyrovnávací paměť není žádná, pak je nepravdivá nelegitimní a neexistuje žádná vyrovnávací paměť, takže bude automaticky vyprázdněna.

Syntaxe autoFlush:

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

Zde true / false představuje, zda je třeba provést ukládání do vyrovnávací paměti nebo ne

Příklad:

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

Vysvětlení kódu:

Ve výše uvedeném kódu je autoflush nastaven na hodnotu false, a proto nebude provedeno ukládání do vyrovnávací paměti a výstup byl ručně vyprázdněn.

  1. Buffer:
  • Pomocí tohoto atributu může být výstupní objekt odezvy do vyrovnávací paměti.
  • Pomocí tohoto atributu můžeme definovat velikost ukládání do vyrovnávací paměti a výchozí velikost je 8 kB.
  • Nasměruje servlet k zápisu do vyrovnávací paměti před zápisem do objektu odpovědi.

Syntaxe vyrovnávací paměti:

<%@ page buffer="value" %>

Zde hodnota představuje velikost vyrovnávací paměti, kterou je třeba definovat. Pokud není k dispozici žádná vyrovnávací paměť, můžeme psát jako žádná, a pokud nezmiňujeme žádnou hodnotu, výchozí hodnota je 8 kB

Příklad:

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

Vysvětlení kódu:

Ve výše uvedeném kódu je velikost vyrovnávací paměti uvedena jako 16 kB, přičemž vyrovnávací paměť by měla tuto velikost

  1. isErrorPage:
  • Označuje, že stránka JSP, která má chybovou stránku, bude zkontrolována na jiné stránce JSP
  • Libovolný soubor JSP deklarovaný s atributem „isErrorPage“ je poté schopen přijímat výjimky z jiných stránek JSP, které mají chybové stránky.
  • Výjimky jsou k dispozici pouze pro tyto stránky.
  • Výchozí hodnota je false.

Syntaxe isErrorPage:

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

Příklad:

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

Vysvětlení kódu:

Ve výše uvedeném kódu je isErrorPage nastaven jako true. Proto zkontroluje, zda všechny ostatní JSP mají sadu atributů errorPage (popsanou v dalším atributu) a dokáže zpracovat výjimky.

  1. Kódování stránky:
Atribut "pageEncoding" definuje kódování znaků pro stránku JSP.

Výchozí hodnota je zadána jako „ISO-8859-1“, pokud není zadána jiná.

Syntaxe pageEncoding:

<%@ page pageEncoding="vaue" %>

Zde hodnota určuje hodnotu znakové sady pro JSP

Příklad:

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

Vysvětlení kódu:

Ve výše uvedeném kódu byl „pageEncoding“ nastaven na výchozí znakovou sadu ISO-8859-1

  1. errorPage:
Tento atribut se používá k nastavení chybové stránky pro stránku JSP, pokud JSP vyvolá výjimku a poté ji přesměruje na stránku výjimky.

Syntaxe errorPage:

<%@ page errorPage="value" %>

Zde hodnota představuje chybovou hodnotu stránky JSP

Příklad:

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

Vysvětlení kódu:

Ve výše uvedeném kódu pro zpracování výjimek máme errroHandler.jsp

  1. isELIgnorováno:
  • IsELIgnored je atribut vlajky, kde se musíme rozhodnout, zda budeme značky EL ignorovat nebo ne.
  • Jeho datový typ je java enum a výchozí hodnota je false, proto je EL ve výchozím nastavení povoleno.

Syntaxe isELIgnored:

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

Zde true / false představuje hodnotu EL, zda by měla být ignorována nebo ne.

Příklad:

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

Vysvětlení kódu:

Ve výše uvedeném kódu má isELIgnored hodnotu true, a proto je zde Expression Language (EL) ignorován.

V níže uvedeném příkladu používáme čtyři atributy (řádek kódu 1-2)

Příklad se čtyřmi atributy

<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%> Direktiva Guru JSP1  Datum je: <% = new java.util.Date ()%>

Vysvětlení kódu:

Řádek kódu 1-2: Zde jsme definovali čtyři atributy, tj

  • Jazyk: Je nastaven jako Java jako programovací jazyk
  • contentType: set as text / html to tell the compiler that html has to be format
  • pageEncoding: v tomto atributu je nastavena výchozí znaková sada
  • isELIgnored: Expression Tag je false, proto není ignorován

Řádek kódu 3: Zde jsme použili atribut import a importuje „třídu data“, která je z balíčku Java util, a pokoušíme se zobrazit aktuální datum v kódu.

Po provedení výše uvedeného kódu získáte následující výstup

Výstup :

  • Datum je: Aktuální datum pomocí metody data třídy data

JSP Zahrnout směrnici

  • „Zahrnout směrnici“ JSP (kód 8) se používá k zahrnutí jednoho souboru do druhého
  • Tímto zahrnutým souborem mohou být HTML, JSP, textové soubory atd.
  • Je také užitečné při vytváření šablon s uživatelskými pohledy a dělení stránek na akce záhlaví a zápatí a postranního panelu.
  • Zahrnuje soubor během fáze překladu

Syntaxe direktivy include:

<%@ include… .%>

Příklad:

Directive_jsp2.jsp (hlavní soubor)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "směrnice_header_jsp3.jsp"%> Směrnice Guru JSP2  Toto je hlavní soubor 

Directive_header_jsp3.jsp (který je obsažen v hlavním souboru)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Hlavičkový soubor: <% int count = 1; count ++;out.println (count);%>:

Vysvětlení kódu:

Směrnice_jsp2.jsp:

Řádek kódu 3: V tomto kódu používáme značky pro zahrnutí, kde zahrnujeme soubor směrnice_hlavní_jsp3.jsp do hlavního souboru (_jsp2.jsp) a získá výstup jak hlavního souboru, tak zahrnutého souboru.

Směrnice_header_jsp3.jsp:

Řádek kódu 11-12: Vzali jsme počet proměnných inicializovaný na 1 a poté jsme jej zvýšili. Tím získáte výstup v hlavním souboru, jak je znázorněno níže.

Když spustíte výše uvedený kód, získáte následující výstup:

Výstup:

  • Výstupem je soubor záhlaví: 2: Toto je hlavní soubor
  • Výstup se provádí ze souboru směrnice_jsp2.jsp, zatímco nejprve bude sestaven soubor směrnice_jméno_jsp3.jsp.
  • Po dokončení zahrnutého souboru se provede hlavní soubor a výstup bude z hlavního souboru „Toto je hlavní soubor“. Takže získáte výstup jako „Soubor záhlaví: 2“ z _jsp3.jsp a „Toto je hlavní soubor“ z _jsp2.jsp.

Směrnice JSP Taglib

  • Směrnice JSP taglib se používá k definování knihovny značek s předponou „taglib“, kterou můžeme v JSP použít.
  • Více podrobností bude uvedeno v sekci Vlastní značky JSP
  • Směrnice JSP taglib se používá na stránkách JSP pomocí standardních knihoven značek JSP
  • Využívá sadu vlastních značek, identifikuje umístění knihovny a poskytuje prostředky k identifikaci vlastních značek na stránce JSP.

Syntaxe směrnice taglib:

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

Zde je atribut „uri“ jedinečným identifikátorem v deskriptoru knihovny tagů a atribut „prefix“ je název tagu.

Příklad:

<% @ 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"%> Směrnice Guru JSP 

Vysvětlení kódu:

Řádek kódu 3: Zde je „taglib“ definován s atributy uri a předponou.

Řádek kódu 9: „gurutag“ je definovaná vlastní značka a lze ji použít kdekoli