JSP direktyvos: Puslapis, Įtraukti & „Taglib“ pamoka

Turinys:

Anonim

Kas yra JSP direktyvos?

  • JSP direktyvos yra pranešimai į JSP konteinerį. Jie teikia pasaulinę informaciją apie visą JSP puslapį.
  • JSP direktyvos yra naudojamos specialiam nurodymui konteineriui JSP išversti į servleto kodą.
  • JSP gyvavimo ciklo fazėje JSP turi būti paverstas servletu, kuris yra vertimo etapas.
  • Jie pateikia instrukcijas konteineriui, kaip tvarkyti tam tikrus JSP apdorojimo aspektus
  • Direktyvose gali būti daug kableliais atributų, atskirtų kaip raktų ir verčių poros.
  • JSP direktyva aprašoma žymose <% @%>.

Direktyvos sintaksė:

<%@ directive attribute %>

Yra trijų tipų direktyvos:

  1. Puslapio direktyva
  2. Įtraukti direktyvą
  3. „Taglib“ direktyva

Kiekvienas iš jų yra išsamiai aprašytas žemiau su pavyzdžiais:

Šioje pamokoje sužinosite -

  • JSP puslapio direktyva
  • JSP Įtraukti direktyvą
  • JSP „Taglib“ direktyva

JSP puslapio direktyva

Puslapio direktyvos sintaksė:

<%@ page… %>
  • Jame pateikiami atributai, pritaikomi visam JSP puslapiui.
  • Jis apibrėžia nuo puslapio priklausančius atributus, tokius kaip scenarijų kalba, klaidų puslapis ir buferio reikalavimai.
  • Jis naudojamas instrukcijoms pateikti į konteinerį, susijusį su dabartiniu JSP puslapiu.

Toliau pateikiamas jo atributų, susijusių su puslapio direktyva, sąrašas:

  1. Kalba
  2. Pratęsia
  3. Importuoti
  4. turinio tipas
  5. info
  6. sesija
  7. „isThreadSafe“
  8. automatinis plovimas
  9. buferis
  10. „IsErrorPage“
  11. puslapisKodavimas
  12. errorPage
  13. isELIgonored

Daugiau informacijos apie kiekvieną atributą

  1. kalba : ji apibrėžia puslapyje naudojamą programavimo kalbą (pagrindinę kalbą).

    Kalbos sintaksė:

    <%@ page language="value" %>

    Čia reikšmė yra programavimo kalba (pagrindinė kalba)

Pavyzdys:

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

Kodo paaiškinimas: Pirmiau pateiktame pavyzdyje atributo kalbos vertė yra „Java“, kuri šiuo atveju yra pagrindinė kalba. Taigi išraiškos žymose esantis kodas būtų sudarytas naudojant „Java“ kompiliatorių.

  1. Pratęsia : Šis atributas naudojamas išplėsti (paveldėti) klasę, kaip tai daro JAVA

Pratęsimų sintaksė:

<%@ page extends="value" %>

Čia vertė reiškia klasę, iš kurios ji turi būti paveldėta.

Pavyzdys:

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

Kodo paaiškinimas: Aukščiau pateiktame kode JSP išplečia „DemoClass“, kuris yra demotest pakete, ir jis išplės visas klasės funkcijas.

  1. Importas : Šis atributas yra dažniausiai naudojamas atributas puslapių direktyvos atributuose. Jis naudojamas nurodant konteinerį importuoti kitas „Java“ klases, sąsajas, sąrašus ir kt., Kartu kuriant servleto kodą. Tai panašu į importo teiginius „Java“ klasėse, sąsajose.

Importavimo sintaksė :

<%@ page import="value" %>

Čia vertė nurodo klases, kurias reikia importuoti.

Pavyzdys:

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

Kodo paaiškinimas:

Pirmiau nurodytame kode mes importuojame datos klasę iš paketo java.util (visos naudingumo klasės) ir jame gali būti naudojami visi šios klasės metodai.

  1. contentType :
  • Jis apibrėžia simbolių kodavimo schemą, ty jis naudojamas atsakymo turinio tipui ir simbolių rinkiniui nustatyti
  • Numatytasis „contentType“ tipas yra „text / html; charset = ISO-8859-1“.

„ContentType“ sintaksė:

<%@ page contentType="value" %>

Pavyzdys:

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

Kodo paaiškinimas:

Pirmiau pateiktame kode turinio tipas yra nustatytas kaip tekstas / html, jis nustato simbolių kodavimą JSP ir sugeneruotam atsakymo puslapiui.

  1. info
  • Jis apibrėžia eilutę, prie kurios galima pasiekti naudojant getServletInfo () metodą.
  • Šis atributas naudojamas servleto aprašui nustatyti.

Informacijos sintaksė:

<%@ page info="value" %>

Čia reikšmė atspindi servleto informaciją.

Pavyzdys:

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

Kodo paaiškinimas:

Pirmiau pateiktame kode eilutę „Guru direktyva JSP“ galima gauti servleto sąsajoje naudojant getServletInfo ()

  1. Sesija
  • Pagal numatytuosius nustatymus JSP puslapis sukuria sesiją.
  • Kartais nereikia, kad sesija būtų sukurta JSP, taigi tokiu atveju galime nustatyti šį atributą kaip „false“. Numatytoji seanso atributo reikšmė yra teisinga, o sesija sukuriama.

    Kai jis nustatytas kaip „false“, tada galime nurodyti, kad kompiliatorius nesukurs sesijos pagal numatytuosius nustatymus.

Seanso sintaksė:

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

Šiuo atveju seanso atributą galima nustatyti kaip „true“ arba „false“

Pavyzdys:

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

Kodo paaiškinimas:

Ankstesniame pavyzdyje seanso atributas yra nustatytas kaip „klaidingas“, todėl mes nurodome, kad nenorime kurti jokių seansų šiame JSP

  1. „isThreadSafe“:
  • Jis apibrėžia sugeneruoto servleto sriegimo modelį.
  • Tai rodo puslapyje įdiegtą siūlų saugumo lygį.
  • Jo numatytoji reikšmė yra teisinga, taigi vienu metu
  • Šį atributą galime naudoti „SingleThreadModel“ sąsajai sugeneruotoje servlete.
  • Jei jį nustatysime į „false“, jis įdiegs „SingleThreadModel“ ir galės pasiekti visus bendrinamus objektus ir gali sukelti nenuoseklumą.

„IsThreadSafe“ sintaksė:

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

Čia „true“ arba „false“ reiškia, jei sinchronizavimas yra, tada nustatykite kaip teisingą ir nustatykite kaip neteisingą.

Pavyzdys:

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

Kodo paaiškinimas:

Ankstesniame kode „isThreadSafe“ yra nustatyta į „true“, taigi bus atliekama sinchronizacija ir gali būti naudojamos kelios gijos.

  1. „AutoFlush“:

Šis atributas nurodo, kad buferinis išvestis turi būti automatiškai nuplaunamas arba ne, o numatytoji šio atributo vertė yra teisinga.

Jei reikšmė nustatyta kaip „false“, buferis nebus automatiškai išplautas, o jei jis bus pilnas, gausime išimtį.

Kai buferio nėra, klaidingas yra neteisėtas ir buferio nėra, todėl jis bus automatiškai išplautas.

„AutoFlush“ sintaksė:

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

Čia true / false nurodo, ar reikia atlikti buferį, ar ne

Pavyzdys:

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

Kodo paaiškinimas:

Ankstesniame kode automatinis praplovimas nustatytas į „false“, todėl buferizavimas nebus atliekamas ir jis rankiniu būdu išvalė išvestį.

  1. Buferis:
  • Naudojant šį atributą, išvesties atsako objektas gali būti buferinis.
  • Mes galime apibrėžti buferio dydį, kurį reikia atlikti naudojant šį atributą, o numatytasis dydis yra 8 KB.
  • Jis nurodo servletui parašyti buferį prieš rašant į atsako objektą.

Buferio sintaksė:

<%@ page buffer="value" %>

Čia reikšmė reiškia buferio, kurį reikia apibrėžti, dydį. Jei nėra buferio, tada galime rašyti kaip nieko, o jei neminime jokios vertės, numatytoji reikšmė yra 8 KB

Pavyzdys:

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

Kodo paaiškinimas:

Aukščiau pateiktame kode buferio dydis minimas kaip 16 KB, kur buferis būtų tokio dydžio

  1. isErrorPage:
  • Tai rodo, kad JSP puslapis, kuriame yra errorPage, bus patikrintas kitame JSP puslapyje
  • Bet kuris JSP failas, deklaruotas su „isErrorPage“ atributu, gali priimti išimtis iš kitų JSP puslapių, kuriuose yra klaidų puslapių.
  • Išimtys galimos tik šiuose puslapiuose.
  • Numatytoji vertė yra klaidinga.

„IsErrorPage“ sintaksė:

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

Pavyzdys:

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

Kodo paaiškinimas:

Pirmiau pateiktame kode isErrorPage yra nustatytas kaip teisingas. Taigi jis patikrins, ar bet kuriame kitame JSP yra atributų rinkinys „errorPage“ (aprašytas kitame atribute), ir jis gali tvarkyti išimtis.

  1. Puslapio kodavimas:
Atributas „pageEncoding“ apibrėžia JSP puslapio simbolių kodavimą.

Numatytasis parametras nurodomas kaip „ISO-8859-1“, jei nenurodytas kitas.

Kodavimo puslapio sintaksė:

<%@ page pageEncoding="vaue" %>

Čia reikšmė nurodo JSP simbolio reikšmę

Pavyzdys:

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

Kodo paaiškinimas:

Pirmiau pateiktame kode „pageEncoding“ nustatytas numatytasis simbolių rinkinys ISO-8859-1

  1. errorPage:
Šis atributas naudojamas nustatyti JSP puslapio klaidos puslapį, jei JSP išmeta išimtį ir tada jis nukreipia į išimties puslapį.

„ErrorPage“ sintaksė:

<%@ page errorPage="value" %>

Čia reikšmė reiškia klaidos JSP puslapio vertę

Pavyzdys:

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

Kodo paaiškinimas:

Ankstesniame kode, norėdami tvarkyti išimtis, turime errroHandler.jsp

  1. isELIgnored:
  • „IsELIgnored“ yra vėliavos atributas, kuriame turime nuspręsti, ar ignoruoti EL žymas, ar ne.
  • Jo duomenų tipas yra „java enum“, o numatytoji vertė yra „false“, todėl EL yra įjungta pagal numatytuosius nustatymus.

IsELIgnored sintaksė:

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

Čia „true / false“ reiškia EL vertę, neatsižvelgiant į tai, ar ją reikia ignoruoti, ar ne.

Pavyzdys:

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

Kodo paaiškinimas:

Ankstesniame kode isELIgnored yra teisinga, todėl čia nekreipiama dėmesio į išraiškos kalbą (EL).

Žemiau pateiktame pavyzdyje naudojame keturis atributus (kodo eilutė 1-2)

Pavyzdys su keturiais atributais

<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%> Direktyvos „Guru JSP1“  Data yra: <% = nauja java.util.Date ()%>

Kodo paaiškinimas:

Kodo eilutė 1-2: Čia mes apibrėžėme keturis atributus, t

  • Kalba: ji nustatyta kaip „Java“ kaip programavimo kalba
  • contentType: nustatykite kaip text / html, kad kompiliatorius pasakytų, kad html turi būti formatas
  • pageEncoding: šiame atribute nustatytas numatytasis simbolių rinkinys
  • isELIgnored: išraiškos žyma yra klaidinga, todėl jos nepaisoma

3 kodo eilutė: Čia mes naudojome importo atributą ir jis importuoja „Date class“, kuris yra iš „Java util“ paketo, ir mes bandome kode pateikti dabartinę datą.

Vykdydami pirmiau nurodytą kodą gausite šią išvestį

Išvestis :

  • Data yra: Dabartinė data naudojant datos klasės datos metodą

JSP Įtraukti direktyvą

  • JSP „įtraukti direktyvą“ (8 kodo juosta) naudojama įtraukti vieną failą į kitą failą
  • Šis failas gali būti HTML, JSP, tekstiniai failai ir kt.
  • Tai taip pat naudinga kuriant šablonus su vartotojo rodiniais ir suskaidant puslapius į antraštės, poraštės ir šoninės juostos veiksmus.
  • Vertimo etape ji apima failą

Įtraukimo direktyvos sintaksė:

<%@ include… .%>

Pavyzdys:

Direktyva_jsp2.jsp (pagrindinis failas)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "direction_header_jsp3.jsp"%> „Guru“ direktyva JSP2  Tai yra pagrindinis failas 

„Director_header_jsp3.jsp“ (kuris yra įtrauktas į pagrindinę bylą)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Antraštės failas: <% int skaičius = 1; skaičius ++;out.println (skaičius);%>:

Kodo paaiškinimas:

Direktyva_jsp2.jsp:

3 kodo eilutė: Šiame kode mes naudojame įtraukimo žymas, kur į pagrindinį failą (_jsp2.jsp) įtraukiame failą direktyvą_header_jsp3.jsp ir gauname pagrindinio failo ir įtraukto failo išvestį.

Director_header_jsp3.jsp:

Kodo eilutė 11-12: Mes nustatėme kintamųjų skaičių, kuris buvo inicijuotas iki 1, ir tada jį padidinome. Tai suteiks išvestį pagrindiniame faile, kaip parodyta žemiau.

Vykdydami pirmiau nurodytą kodą gausite šį išvestį:

Išvestis:

  • Išvestis yra Antraštės failas: 2: Tai yra pagrindinis failas
  • Išvestis vykdoma iš direktyvos_jsp2.jsp failo, o pirmiausia bus kompiliuotas į ją įtrauktas direktyva_jodis_jsp3.jsp.
  • Atlikus įtrauktą failą, pagrindinis failas bus vykdomas, o išvestis bus iš pagrindinio failo "Tai yra pagrindinis failas". Taigi išvestį gausite kaip „Antraštės failą: 2“ iš _jsp3.jsp ir „Tai yra pagrindinis failas“ iš _jsp2.jsp.

JSP „Taglib“ direktyva

  • JSP taglib direktyva naudojama apibrėžti žymių biblioteką su „taglib“ kaip priešdėlį, kurį galime naudoti JSP.
  • Daugiau informacijos bus pateikta skyriuje „JSP Custom Tags“
  • JSP taglib direktyva naudojama JSP puslapiuose, naudojant JSP standartinių žymų bibliotekas
  • Jis naudoja pasirinktinių žymų rinkinį, identifikuoja bibliotekos vietą ir suteikia būdų, kaip identifikuoti priskirtas žymas JSP puslapyje.

Taglib direktyvos sintaksė:

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

Čia „uri“ atributas yra unikalus žymos bibliotekos deskriptoriaus identifikatorius, o „prefix“ atributas yra žymos pavadinimas.

Pavyzdys:

<% @ 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“ direktyvos JSP 

Kodo paaiškinimas:

3 kodo eilutė: Čia „taglib“ apibrėžiamas su atributais uri ir priešdėliu.

9 kodo eilutė: „gurutag“ yra pasirinktinė žyma, kurią galima naudoti bet kur