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:
- Puslapio direktyva
- Įtraukti direktyvą
- „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:
- Kalba
- Pratęsia
- Importuoti
- turinio tipas
- info
- sesija
- „isThreadSafe“
- automatinis plovimas
- buferis
- „IsErrorPage“
- puslapisKodavimas
- errorPage
- isELIgonored
Daugiau informacijos apie kiekvieną atributą
- 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ų.
- 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.
- 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.
- 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.
- 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 ()
- 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
- „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.
- „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į.
- 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
- 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.
- Puslapio kodavimas:
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
- errorPage:
„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
- 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 ()%>