Direktive JSP: Stran, Vključi & Vadnica za Taglib

Kazalo:

Anonim

Kaj so direktive JSP?

  • Direktive JSP so sporočila vsebniku JSP. Zagotavljajo globalne informacije o celotni strani JSP.
  • Direktive JSP se uporabljajo za dajanje posebnih navodil vsebniku za prevajanje JSP v kodo strežniškega programčka.
  • V fazi življenjskega cikla JSP je treba JSP pretvoriti v servlet, ki je faza prevajanja.
  • Vsebniku dajejo navodila, kako ravnati z določenimi vidiki obdelave JSP
  • Direktive imajo lahko veliko atributov z vejico, ločenih kot pari ključ / vrednost.
  • V JSP je direktiva opisana v oznakah <% @%>.

Sintaksa direktive:

<%@ directive attribute %>

Obstajajo tri vrste direktiv:

  1. Direktiva o straneh
  2. Vključi direktivo
  3. Taglibova direktiva

Vsak od njih je podrobno opisan spodaj s primeri:

V tej vadnici boste izvedeli -

  • Direktiva o straneh JSP
  • JSP Vključi direktivo
  • Direktiva JSP Taglib

Direktiva o straneh JSP

Sintaksa direktive Page:

<%@ page… %>
  • Ponuja atribute, ki se uporabljajo za celotno stran JSP.
  • Določa atribute, odvisne od strani, kot so skriptni jezik, strani z napakami in zahteve medpomnjenja.
  • Uporablja se za zagotavljanje navodil za vsebnik, ki se nanaša na trenutno stran JSP.

Sledi seznam atributov, povezanih z direktivo o straneh:

  1. Jezik
  2. Razširja
  3. Uvozi
  4. contentType
  5. info
  6. sejo
  7. isThreadSafe
  8. samodejno izpiranje
  9. medpomnilnik
  10. IsErrorPage
  11. pageEncoding
  12. errorPage
  13. isELIgonored

Več podrobnosti o vsakem atributu

  1. jezik : Določa programski jezik (osnovni jezik), ki se uporablja na strani.

    Sintaksa jezika:

    <%@ page language="value" %>

    Tu je vrednost programski jezik (osnovni jezik)

Primer:

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

Pojasnilo kode: V zgornjem primeru je vrednost jezika atributov Java, ki je v tem primeru osnovni jezik. Zato bi bila koda v izraznih oznakah prevedena z uporabo java compilerja.

  1. Extends : Ta atribut se uporablja za razširitev (podedovanje) razreda, kot to počne JAVA

Sintaksa podaljškov:

<%@ page extends="value" %>

Tu vrednost predstavlja razred, iz katerega ga je treba podedovati.

Primer:

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

Pojasnilo kode: V zgornji kodi JSP razširja DemoClass, ki je znotraj paketa demotest, in razširil bo vse funkcije razreda.

  1. Uvoz : Ta atribut je najpogosteje uporabljeni atribut v atributih direktiv strani. Uporablja se za povezovanje vsebnika, naj med generiranjem kode strežniškega programčka uvozi druge razrede java, vmesnike, enume itd. Podoben je izjavam o uvozu v razredih java, vmesnikih.

Sintaksa uvoza :

<%@ page import="value" %>

Tu vrednost označuje razrede, ki jih je treba uvoziti.

Primer:

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

Pojasnilo kode:

V zgornjo kodo uvozimo razred Date iz paketa java.util (vsi razredi pripomočkov) in lahko uporablja vse metode naslednjega razreda.

  1. contentType :
  • Določa shemo kodiranja znakov, tj. Uporablja se za nastavitev vrste vsebine in nabora znakov odziva
  • Privzeta vrsta vsebine je "text / html; charset = ISO-8859-1".

Sintaksa vrste vsebine:

<%@ page contentType="value" %>

Primer:

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

Pojasnilo kode:

V zgornji kodi je vrsta vsebine nastavljena kot besedilo / html, nastavi kodiranje znakov za JSP in za ustvarjeno odzivno stran.

  1. info
  • Določa niz, do katerega je mogoče dostopati z metodo getServletInfo ().
  • Ta atribut se uporablja za nastavitev opisa strežniškega programčka.

Sintaksa informacij:

<%@ page info="value" %>

Tu vrednost predstavlja informacije o strežniškem programčku.

Primer:

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

Pojasnilo kode:

V zgornji kodi lahko niz "Guru Directive JSP" pridobi vmesnik strežniškega programčka z uporabo getServletInfo ()

  1. Seja
  • Stran JSP privzeto ustvari sejo.
  • Včasih ne potrebujemo seje, ki bi jo ustvarili v JSP, zato lahko ta atribut v tem primeru nastavimo na false. Privzeta vrednost atributa seje je true in seja je ustvarjena.

    Ko je nastavljen na false, lahko prevajalniku označimo, da privzeto ne ustvari seje.

Sintaksa seje:

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

V tem primeru lahko atribut seje nastavite na true ali false

Primer:

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

Pojasnilo kode:

V zgornjem primeru je atribut session nastavljen na "false", zato nakazujemo, da v tem JSP ne želimo ustvariti nobene seje

  1. isThreadSafe:
  • Določa model navojev za ustvarjeni strežniški programček.
  • Označuje raven varnosti niti na strani.
  • Njegova privzeta vrednost je true, tako hkrati
  • Ta atribut lahko uporabimo za implementacijo vmesnika SingleThreadModel v generirani strežniški programček.
  • Če jo nastavimo na false, bo uvedel SingleThreadModel in lahko dostopa do vseh predmetov v skupni rabi ter povzroči nedoslednost.

Sintaksa isThreadSafe:

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

Tu true ali false predstavlja, če je sinhronizacija potem nastavljena kot true in jo nastavite kot false.

Primer:

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

Pojasnilo kode:

V zgornji kodi je isThreadSafe nastavljen na "true", zato bo izvedena sinhronizacija in lahko uporabite več niti.

  1. Samodejno izpiranje:

Ta atribut določa, da je treba medpomnilnik izpisati samodejno ali ne, privzeta vrednost tega atributa pa je true.

Če je vrednost nastavljena na false, medpomnilnik ne bo samodejno odstranjen in če je poln, bomo dobili izjemo.

Če je medpomnilnik nič, je false nelegitimen in ni medpomnjenja, zato bo samodejno izpraznjen.

Sintaksa samodejnega izpiranja:

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

Tu true / false predstavlja, ali je treba medpomnjenje opraviti ali ne

Primer:

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

Pojasnilo kode:

V zgornji kodi je samodejno izpiranje nastavljeno na false in zato medpomnjenje ne bo izvedeno, rezultat pa je ročno izpiral.

  1. Odbojnik:
  • Z uporabo tega atributa je lahko izhodni odzivni objekt medpomnjen.
  • S tem atributom lahko določimo velikost medpomnjenja, privzeta velikost pa je 8 KB.
  • Naredi strežniški programček, da napiše medpomnilnik, preden zapiše v odzivni objekt.

Sintaksa medpomnilnika:

<%@ page buffer="value" %>

Tu vrednost predstavlja velikost medpomnilnika, ki ga je treba definirati. Če vmesnega pomnilnika ni, lahko zapišemo kot noben in če ne omenimo nobene vrednosti, je privzeta vrednost 8 KB

Primer:

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

Pojasnilo kode:

V zgornji kodi je velikost medpomnilnika omenjena kot 16 KB, pri čemer bi bil medpomnilnik te velikosti

  1. isErrorPage:
  • Označuje, da bo stran JSP, ki ima errorPage, preverjena na drugi strani JSP
  • Vsaka datoteka JSP, deklarirana z atributom "isErrorPage", je nato sposobna prejemati izjeme z drugih strani JSP, ki imajo strani z napakami.
  • Izjeme so na voljo samo na teh straneh.
  • Privzeta vrednost je false.

Sintaksa isErrorPage:

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

Primer:

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

Pojasnilo kode:

V zgornji kodi je isErrorPage nastavljen kot true. Zato bo preveril, ali ima kateri koli drug JSP nabor atributov errorPage (opisan v naslednjem atributu) in lahko obvladuje izjeme.

  1. PageEncoding:
Atribut "pageEncoding" definira kodiranje znakov za stran JSP.

Privzeta vrednost je določena kot "ISO-8859-1", če katera koli druga ni določena.

Sintaksa pageEncoding:

<%@ page pageEncoding="vaue" %>

Tu vrednost določa vrednost nabora znakov za JSP

Primer:

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

Pojasnilo kode:

V zgornji kodi je "pageEncoding" nastavljen na privzeti nabor znakov ISO-8859-1

  1. errorPage:
Ta atribut se uporablja za nastavitev strani z napakami za stran JSP, če JSP vrne izjemo in nato preusmeri na stran z izjemo.

Sintaksa errorPage:

<%@ page errorPage="value" %>

Tu vrednost predstavlja vrednost strani z napako JSP

Primer:

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

Pojasnilo kode:

V zgornji kodi imamo za obravnavo izjem errroHandler.jsp

  1. isELIgnored:
  • IsELIgnored je atribut zastavice, pri katerem se moramo odločiti, ali bomo ignorirali oznake EL ali ne.
  • Njegov podatkovni tip je java enum, privzeta vrednost pa je false, zato je EL privzeto omogočen.

Sintaksa isELIgnored:

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

Tu true / false predstavlja vrednost EL, naj bo prezrta ali ne.

Primer:

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

Pojasnilo kode:

V zgornji kodi je isELIgnored true, zato je tukaj izraz jezik za izražanje (EL) prezrt.

V spodnjem primeru uporabljamo štiri atribute (kodna vrstica 1-2)

Primer s štirimi atributi

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

Pojasnilo kode:

Koda 1-2: Tu smo opredelili štiri atribute, tj

  • Jezik: kot programski jezik je nastavljen kot Java
  • contentType: nastavi kot besedilo / html, da prevajalniku pove, da mora biti html format
  • pageEncoding: v tem atributu je nastavljena privzeta nabor znakov
  • isELIgnored: Oznaka izraza je napačna, zato je ne prezremo

Vrstica kode 3: Tukaj smo uporabili atribut import in uvažamo "Date date", ki je iz paketa Java util, v kodi pa poskušamo prikazati trenutni datum.

Ko zaženete zgornjo kodo, boste dobili naslednji izhod

Izhod :

  • Datum je: trenutni datum z uporabo metode datuma za datumski razred

JSP Vključi direktivo

  • JSP "vključi direktivo" (koda 8) se uporablja za vključitev ene datoteke v drugo
  • Ta vključena datoteka je lahko HTML, JSP, besedilne datoteke itd.
  • Koristno je tudi pri ustvarjanju predlog z uporabniškimi pogledi in razdeljevanju strani na dejanja glave in noge in stranske vrstice.
  • Vključuje datoteko v fazi prevajanja

Sintaksa direktive include:

<%@ include… .%>

Primer:

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  To je glavna datoteka 

Directive_header_jsp3.jsp (ki je vključena v glavno datoteko)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Datoteka z glavo: <% int count = 1; štetje ++;out.println (count);%>:

Pojasnilo kode:

Directive_jsp2.jsp:

Vrstica kode 3: V tej kodi uporabljamo oznake za vključitev, kjer v glavno datoteko (_jsp2.jsp) vključimo datoteko Directive_header_jsp3.jsp in dobimo izhodne podatke glavne in vključene datoteke.

Directive_header_jsp3.jsp:

Vrstica kode 11-12: Sprejeli smo število spremenljivk, inicializirano na 1 in ga nato povečali. To bo dalo izhod v glavni datoteki, kot je prikazano spodaj.

Ko zaženete zgornjo kodo, dobite naslednji izhod:

Izhod:

  • Rezultat je datoteka glave: 2: To je glavna datoteka
  • Izhod se izvede iz datoteke Directive_jsp2.jsp, medtem ko bo vključena datoteka Directive_header_jsp3.jsp najprej prevedena.
  • Po končani vključeni datoteki se izvrši glavna datoteka, rezultat pa bo iz glavne datoteke "To je glavna datoteka". Tako boste dobili izhod kot "Header file: 2" iz _jsp3.jsp in "This is main file" iz _jsp2.jsp.

Direktiva JSP Taglib

  • Direktiva JSP taglib se uporablja za definiranje knjižnice oznak s predpono "taglib", ki jo lahko uporabimo v JSP.
  • Več podrobnosti bo zajetih v oddelku JSP Custom Tags
  • Direktiva JSP taglib se uporablja na straneh JSP z uporabo knjižnic standardnih oznak JSP
  • Uporablja nabor oznak po meri, identificira lokacijo knjižnice in ponuja sredstva za prepoznavanje oznak po meri na strani JSP.

Sintaksa direktive taglib:

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

Tu je atribut "uri" edinstven identifikator v deskriptorju knjižnice oznak, atribut "predpona" pa je ime oznake.

Primer:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ taglib predpona = "gurutag" uri = "http://java.sun.com/jsp/jstl/core"%> Guru Directive JSP 

Pojasnilo kode:

Vrstica kode 3: Tu je "taglib" definiran z atributi uri in predpono.

Vrstica kode 9: "gurutag" je oznaka po meri, ki jo lahko uporabljate kjer koli