Što su JSP direktive?
- JSP direktive su poruke JSP spremniku. Oni pružaju globalne informacije o cijeloj JSP stranici.
- JSP direktive koriste se za davanje posebnih uputa spremniku za prijevod JSP-a u kod servleta.
- U fazi životnog ciklusa JSP-a, JSP se mora pretvoriti u servlet koji je faza prevođenja.
- Daju upute spremniku o tome kako postupati s određenim aspektima JSP obrade
- Direktive mogu imati mnoge atribute zarezom odvojene kao parovi ključ / vrijednost.
- U JSP-u je direktiva opisana u oznakama <% @%>.
Sintaksa Direktive:
<%@ directive attribute %>
Postoje tri vrste direktiva:
- Direktiva o stranici
- Uključi direktivu
- Taglibova direktiva
Svaki od njih je detaljno opisan u nastavku s primjerima:
U ovom vodiču naučit ćete -
- JSP direktiva stranice
- JSP Uključi direktivu
- JSP Taglib direktiva
JSP direktiva stranice
Sintaksa direktive stranice:
<%@ page… %>
- Pruža atribute koji se primjenjuju na cijelu JSP stranicu.
- Definira atribute koji ovise o stranici, poput jezika skriptiranja, stranice pogreške i zahtjeva za međuspremnikom.
- Koristi se za pružanje uputa spremniku koji se odnosi na trenutnu JSP stranicu.
Slijedi njegov popis atributa povezanih s direktivom stranice:
- Jezik
- Proširuje
- Uvoz
- contentType
- info
- sjednica
- isThreadSafe
- automatsko ispiranje
- pufer
- IsErrorPage
- pageEncoding
- errorPage
- isELIgonored
Više pojedinosti o svakom atributu
- jezik : Definira programski jezik (temeljni jezik) koji se koristi na stranici.
Sintaksa jezika:
<%@ page language="value" %>
Ovdje je vrijednost programski jezik (temeljni jezik)
Primjer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Objašnjenje koda: U gornjem primjeru vrijednost jezika atributa je Java koja je osnovni jezik u ovom slučaju. Stoga bi se kod u oznakama izraza kompajlirao pomoću java kompajlera.
- Proširuje : Ovaj se atribut koristi za proširenje (nasljeđivanje) klase kao što to čini JAVA
Sintaksa extends:
<%@ page extends="value" %>
Ovdje vrijednost predstavlja klasu iz koje se mora naslijediti.
Primjer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>
Objašnjenje koda: U gornjem kodu JSP proširuje DemoClass koji se nalazi u paketu za testiranje i proširit će sve značajke klase.
- Uvoz : Ovaj je atribut najčešće korišten atribut u atributima direktive stranice. Koristi se da kaže spremniku da uvozi druge java klase, sučelja, enume itd. Dok generira kôd servleta. Sličan je uvozu izjava u java klasama, sučeljima.
Sintaksa uvoza :
<%@ page import="value" %>
Ovdje vrijednost označava klase koje treba uvesti.
Primjer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>
Objašnjenje koda:
U gornji kôd uvozimo klasu Date iz paketa java.util (sve klase uslužnih programa) i može koristiti sve metode sljedeće klase.
- contentType :
- Definira shemu kodiranja znakova, tj. Koristi se za postavljanje vrste sadržaja i skupa znakova odgovora
- Zadana vrsta contentType je "text / html; charset = ISO-8859-1".
Sintaksa contentType:
<%@ page contentType="value" %>
Primjer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Objašnjenje koda:
U gornjem kodu vrsta sadržaja postavljena je kao text / html, postavlja kodiranje znakova za JSP i za generiranu stranicu odgovora.
- info
- Definira niz kojem se može pristupiti metodom getServletInfo ().
- Ovaj se atribut koristi za postavljanje opisa servleta.
Sintaksa informacija:
<%@ page info="value" %>
Ovdje vrijednost predstavlja informacije servleta.
Primjer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>
Objašnjenje koda:
U gornjem kodu niz "Guru Directive JSP" može se dobiti pomoću sučelja servleta pomoću getServletInfo ()
- Sjednica
- JSP stranica prema zadanim postavkama stvara sesiju.
- Ponekad nam nije potrebna sesija da bi se kreirala u JSP-u, pa stoga taj atribut u tom slučaju možemo postaviti na false. Zadana vrijednost atributa sesije je true i sesija se kreira.
Kada je postavljeno na false, tada možemo naznačiti da je sastavljač prema zadanim postavkama ne kreira sesiju.
Sintaksa sesije:
<%@ page session="true/false"%>
Ovdje se u ovom slučaju atribut sesije može postaviti na true ili false
Primjer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>
Objašnjenje koda:
U gornjem primjeru, atribut session postavljen je na "false", stoga ukazujemo da ne želimo stvarati nijednu sesiju u ovom JSP-u
- isThreadSafe:
- Definira model navoja za generirani servlet.
- Označava razinu sigurnosti niti koja je implementirana na stranici.
- Njegova zadana vrijednost je true, tako istodobno
- Ovaj atribut možemo koristiti za implementaciju sučelja SingleThreadModel u generirani servlet.
- Ako ga postavimo na false, tada će implementirati SingleThreadModel i moći će pristupiti bilo kojem dijeljenom objektu, a može rezultirati nedosljednošću.
Sintaksa isThreadSafe:
<% @ page isThreadSafe="true/false" %>
Ovdje true ili false predstavlja ako je sinkronizacija tada postavljena kao true i postavljena kao false.
Primjer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>
Objašnjenje koda:
U gornjem kodu, isThreadSafe je postavljen na "true", stoga će se izvršiti sinkronizacija i može se koristiti više niti.
- Automatsko ispiranje:
Ovaj atribut navodi da bi se međuspremnik trebao automatski isprati ili ne, a zadana vrijednost tog atributa je istinita.
Ako je vrijednost postavljena na false, međuspremnik se neće automatski isprati, a ako je pun, dobit ćemo iznimku.
Kada je međuspremnik nikakav, tada je false nelegitiman i nema međuspremnika, pa će se automatski isprati.
Sintaksa automatskog ispiranja:
<% @ page autoFlush="true/false" %>
Ovdje true / false predstavlja mora li se raditi međuspremnik ili ne
Primjer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>
Objašnjenje koda:
U gore navedenom kodu, automatsko ispiranje je postavljeno na false i stoga se međuspremništvo neće izvršiti te je ručno ispravilo izlaz.
- Pufer:
- Korištenjem ovog atributa objekt izlaznog odgovora može biti baferiran.
- Pomoću ovog atributa možemo definirati veličinu međuspremnika koji će se izvesti, a zadana veličina je 8 KB.
- Usmjerava servlet da napiše međuspremnik prije pisanja u objekt odgovora.
Sintaksa međuspremnika:
<%@ page buffer="value" %>
Ovdje vrijednost predstavlja veličinu međuspremnika koji treba definirati. Ako nema međuspremnika, tada možemo zapisati kao nijedan, a ako ne spominjemo nijednu vrijednost, zadana vrijednost je 8 KB
Primjer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>
Objašnjenje koda:
U gornjem kodu veličina međuspremnika spominje se kao 16 KB, pri čemu bi međuspremnik bio te veličine
- isErrorPage:
- To znači da će se JSP stranica koja ima errorPage provjeriti na drugoj JSP stranici
- Svaka JSP datoteka deklarirana s atributom "isErrorPage" tada može primati iznimke s drugih JSP stranica koje imaju stranice s pogreškama.
- Iznimke su dostupne samo na ovim stranicama.
- Zadana vrijednost je false.
Sintaksa isErrorPage:
<%@ page isErrorPage="true/false"%>
Primjer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>
Objašnjenje koda:
U gornjem kodu isErrorPage je postavljen kao true. Dakle, provjerit će da li svi drugi JSP-ovi imaju set atributa errorPage (opisan u sljedećem atributu) i mogu se nositi s iznimkama.
- Kodiranje stranice:
Zadana vrijednost je navedena kao "ISO-8859-1" ako nije navedena nijedna druga.
Sintaksa pageEncoding:
<%@ page pageEncoding="vaue" %>
Ovdje vrijednost određuje vrijednost znaka za JSP
Primjer:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>
Objašnjenje koda:
U gornjem kodu "pageEncoding" postavljen je na zadani skup znakova ISO-8859-1
- errorPage:
Sintaksa errorPage:
<%@ page errorPage="value" %>
Ovdje vrijednost predstavlja vrijednost pogreške JSP stranice
Primjer:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>
Objašnjenje koda:
U gornjem kodu, za obradu iznimki imamo errroHandler.jsp
- isELIgnored:
- IsELIgnored je atribut zastave u kojem moramo odlučiti hoćemo li zanemariti EL oznake ili ne.
- Njegov je tip podataka java enum, a zadana vrijednost je false, stoga je EL prema zadanim postavkama omogućen.
Sintaksa isELIgnored:
<%@ page isELIgnored="true/false" %>
Ovdje true / false predstavlja vrijednost EL bez obzira treba li ga zanemariti ili ne.
Primjer:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>
Objašnjenje koda:
U gornjem kodu isELIgnored je istinito i stoga se ovdje zanemaruje jezik izraza (EL).
U donjem primjeru koristimo četiri atributa (kodni redak 1-2)
Primjer s četiri atributa
<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%>Guru JSP1 direktive Datum je: <% = novi java.util.Date ()%>
Objašnjenje koda:
Linija koda 1-2: Ovdje smo definirali četiri atributa, tj
- Jezik: Postavljen je kao Java kao programski jezik
- contentType: postavljen kao text / html kako bi kompajleru rekao da html mora biti format
- pageEncoding: zadani skup znakova postavljen je u ovom atributu
- isELIgnored: Oznaka izraza je lažna, stoga se ne zanemaruje
Redak koda 3: Ovdje smo koristili atribut import, a on uvozi "Datum klase" koji je iz Java util paketa, a mi pokušavamo prikazati trenutni datum u kodu.
Kada izvršite gornji kod, dobit ćete sljedeći izlaz
Izlaz :
- Datum je: Trenutni datum koji koristi datumsku metodu klase datuma
JSP Uključi direktivu
- JSP "uključi direktivu" (kodeline 8) koristi se za uključivanje jedne datoteke u drugu datoteku
- Uključena datoteka može biti HTML, JSP, tekstualne datoteke itd.
- Također je korisno u stvaranju predložaka s korisničkim prikazima i razbijanje stranica na akcije zaglavlja i podnožja te bočne trake.
- Sadrži datoteku tijekom faze prevođenja
Sintaksa naredbe include:
<%@ include… .%>
Primjer:
Directive_jsp2.jsp (glavna datoteka)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "директива_header_jsp3.jsp"%>Guru direktiva JSP2 Ovo je glavna datoteka
Directive_header_jsp3.jsp (koja je uključena u glavnu datoteku)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Datoteka zaglavlja: <% int count = 1; brojati ++;out.println (count);%>:
Objašnjenje koda:
Direktiva_jsp2.jsp:
Redak koda 3: U ovom kodu koristimo oznake uključivanja u koje uključujemo datoteku Directive_header_jsp3.jsp u glavnu datoteku (_jsp2.jsp) i dobiva izlaz i glavne i uključene datoteke.
Directive_header_jsp3.jsp:
Redak koda 11-12: Uzeli smo broj varijabli inicijaliziran na 1, a zatim smo ga povećali. To će dati izlaz u glavnoj datoteci kao što je prikazano u nastavku.
Kada izvršite gornji kod, dobit ćete sljedeći izlaz:
Izlaz:
- Izlaz je datoteka zaglavlja: 2: Ovo je glavna datoteka
- Izlaz se izvršava iz datoteke Directive_jsp2.jsp, dok će se datoteka koja sadrži Directive_header_jsp3.jsp prvo sastaviti.
- Nakon završetka uključene datoteke izvršava se glavna datoteka, a izlaz će biti iz glavne datoteke "Ovo je glavna datoteka". Tako ćete dobiti izlaz kao "Datoteka zaglavlja: 2" iz _jsp3.jsp i "Ovo je glavna datoteka" iz _jsp2.jsp.
JSP Taglib direktiva
- JSP taglib direktiva koristi se za definiranje knjižnice oznaka s "taglib" kao prefiksom, koji možemo koristiti u JSP-u.
- Više detalja bit će pokriveno u odjeljku JSP prilagođene oznake
- JSP taglib direktiva koristi se na JSP stranicama koristeći JSP knjižnice standardnih oznaka
- Koristi skup prilagođenih oznaka, identificira mjesto knjižnice i pruža sredstva za prepoznavanje prilagođenih oznaka na JSP stranici.
Sintaksa taglib direktive:
<%@ taglib uri="uri" prefix="value"%>
Ovdje je atribut "uri" jedinstveni identifikator u opisu biblioteke oznaka, a atribut "prefiks" je naziv oznake.
Primjer:
<% @ 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"%>Guru Direktiva JSP
Objašnjenje koda:
Redak koda 3: Ovdje je "taglib" definiran s atributima uri i prefiksom.
Redak 9: "gurutag" je definirana prilagođena oznaka i može se koristiti bilo gdje