Mitä ovat JSP-direktiivit?
- JSP-direktiivit ovat viestejä JSP-säilöön. Ne tarjoavat globaalia tietoa koko JSP-sivusta.
- JSP-direktiivejä käytetään antamaan erityisiä ohjeita kontille JSP: n kääntämiseksi servlet-koodiksi.
- JSP: n elinkaarivaiheessa JSP on muunnettava servletiksi, joka on käännösvaihe.
- He antavat ohjeet kontille JSP-käsittelyn tiettyjen näkökohtien käsittelemisestä
- Direktiiveissä voi olla useita pilkulla määritettyjä attribuutteja avainarvopareina.
- JSP: ssä direktiivi kuvataan <% @%> -tunnisteissa.
Syntaksi direktiivistä:
<%@ directive attribute %>
On olemassa kolmenlaisia direktiivejä:
- Sivudirektiivi
- Sisällytä direktiivi
- Taglib-direktiivi
Kukin niistä on kuvattu yksityiskohtaisesti alla esimerkkien avulla:
Tässä opetusohjelmassa opit -
- JSP-sivudirektiivi
- JSP Sisällytä direktiivi
- JSP Taglib -direktiivi
JSP-sivudirektiivi
Sivudirektiivin syntaksi:
<%@ page… %>
- Se tarjoaa määritteet, joita sovelletaan koko JSP-sivulle.
- Se määrittelee sivusta riippuvat määritteet, kuten komentosarjakielen, virhesivun ja puskurointivaatimukset.
- Sitä käytetään ohjeiden antamiseen säilölle, joka liittyy nykyiseen JSP-sivuun.
Seuraavassa on luettelo sivudirektiiviin liittyvistä määritteistä:
- Kieli
- Pidennetään
- Tuonti
- sisältötyyppi
- tiedot
- istunto
- isThreadSafe
- automaattinen huuhtelu
- puskuri
- IsErrorPage
- pageKoodaus
- errorPage
- isELIgonored
Lisätietoja kustakin määritteestä
- kieli : Se määrittelee sivulla käytetyn ohjelmointikielen (taustakielen).
Kielen syntaksi:
<%@ page language="value" %>
Tässä arvo on ohjelmointikieli (taustakieli)
Esimerkki:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Koodin selitys: Yllä olevassa esimerkissä määritekielen arvo on Java, joka on tässä tapauksessa taustakieli. Näin ollen lauseketunnisteiden koodi käännetään Java-kääntäjällä.
- Laajentaa : Tätä määritettä käytetään luokan laajentamiseen (perimiseen), kuten JAVA
Laajennusten syntaksi:
<%@ page extends="value" %>
Tässä arvo edustaa luokkaa, josta se on perittävä.
Esimerkki:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>
Koodin selitys: Yllä olevassa koodissa JSP laajentaa demotest-paketissa olevaa DemoClassia ja laajentaa kaikkia luokan ominaisuuksia.
- Tuonti : Tätä määritettä käytetään yleisimmin sivudirektiivi-määritteissä. Sitä käytetään käskemään säilöä tuomaan muita java-luokkia, rajapintoja, enumeja jne. Samalla, kun luot servlet-koodia.
Tuonnin syntakse :
<%@ page import="value" %>
Tässä arvo osoittaa tuotavat luokat.
Esimerkki:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>
Koodin selitys:
Tuomme yllä olevassa koodissa Date-luokan java.util-paketista (kaikki apuohjelmaluokat), ja se voi käyttää kaikkia seuraavan luokan menetelmiä.
- contentType :
- Se määrittelee merkkien koodausjärjestelmän, ts. Sitä käytetään vastauksen sisältötyypin ja merkistön asettamiseen
- Oletustyyppi contentType on "text / html; charset = ISO-8859-1".
Sisällön syntaksiTyyppi:
<%@ page contentType="value" %>
Esimerkki:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
Koodin selitys:
Yllä olevassa koodissa sisältötyypiksi asetetaan teksti / html, se asettaa merkkikoodauksen JSP: lle ja luodulle vastaussivulle.
- tiedot
- Se määrittelee merkkijonon, johon pääsee getServletInfo () -menetelmällä.
- Tätä määritettä käytetään servlet-kuvauksen asettamiseen.
Tietojen syntaksi:
<%@ page info="value" %>
Tässä arvo edustaa servlet-tietoja.
Esimerkki:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>
Koodin selitys:
Yllä olevassa koodissa merkkijono "Gurudirektiivi JSP" voidaan noutaa servlet-käyttöliittymän avulla getServletInfo () -ominaisuuden avulla.
- Istunto
- JSP-sivu luo istunnon oletusarvoisesti.
- Joskus emme tarvitse istunnon luomista JSP: ssä, ja siksi voimme asettaa tämän määritteen epätosi-arvoksi. Istunnon määritteen oletusarvo on tosi ja istunto luodaan.
Kun se on asetettu epätosi, voimme osoittaa kääntäjän olemaan luonut istunnon oletuksena.
Istunnon syntaksi:
<%@ page session="true/false"%>
Tässä tapauksessa istunnon määritteeksi voidaan asettaa true tai false
Esimerkki:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>
Koodin selitys:
Yllä olevassa esimerkissä session attribute on asetettu "false", joten ilmoitamme, ettemme halua luoda mitään istuntoa tässä JSP: ssä
- isThreadSafe:
- Se määrittelee luodun servletin langoitusmallin.
- Se osoittaa sivulle toteutetun langan turvallisuuden tason.
- Sen oletusarvo on totta niin samanaikaisesti
- Voimme käyttää tätä attribuuttia SingleThreadModel-käyttöliittymän toteuttamiseen luotavassa servlet-sovelluksessa.
- Jos asetamme sen vääräksi, se toteuttaa SingleThreadModelin ja voi käyttää kaikkia jaettuja objekteja ja aiheuttaa epäjohdonmukaisuutta.
IsThreadSafe-syntaksin:
<% @ page isThreadSafe="true/false" %>
Tässä tosi tai epätosi edustaa, jos synkronointi on olemassa, aseta sitten tosi ja aseta se vääräksi.
Esimerkki:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>
Koodin selitys:
Edellä olevassa koodissa isThreadSafe on asetettu arvoon "true", joten synkronointi suoritetaan ja useita ketjuja voidaan käyttää.
- Automaattinen huuhtelu:
Tämä attribuutti määrittää, että puskuroitu lähtö on huuhdeltava automaattisesti tai ei, ja kyseisen attribuutin oletusarvo on tosi.
Jos arvoksi asetetaan epätosi, puskuria ei huuhdella automaattisesti ja jos se on täynnä, saamme poikkeuksen.
Kun puskuria ei ole, väärä on laiton, eikä puskurointia ole, joten se huuhdellaan automaattisesti.
AutoFlush-syntaksi:
<% @ page autoFlush="true/false" %>
Tässä tosi / epätosi osoittaa, onko puskurointi tehtävä vai ei
Esimerkki:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>
Koodin selitys:
Yllä olevassa koodissa automaattinen huuhtelu on asetettu vääräksi, joten puskurointia ei tehdä, ja se on huuhtonut lähdön manuaalisesti.
- Puskuri:
- Tämän määritteen avulla lähtövastausobjekti voidaan puskuroida.
- Voimme määritellä tällä määritteellä suoritettavan puskuroinnin koon ja oletuskoko on 8 kt.
- Se ohjaa servletin kirjoittamaan puskurin ennen kirjoittamista vastausobjektiin.
Puskurin syntaksi:
<%@ page buffer="value" %>
Tässä arvo edustaa määriteltävän puskurin kokoa. Jos puskuria ei ole, voimme kirjoittaa kuin ei mitään, ja jos emme mainitse mitään arvoa, oletusarvo on 8 kt
Esimerkki:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>
Koodin selitys:
Edellä olevassa koodissa puskurikoko mainitaan 16 kt, jolloin puskurin koko olisi sama
- isErrorPage:
- Se osoittaa, että JSP-sivu, jolla on errorPage, tarkistetaan toisella JSP-sivulla
- Mikä tahansa "isErrorPage" -attribuutilla ilmoitettu JSP-tiedosto pystyy sitten vastaanottamaan poikkeuksia muilta JSP-sivuilta, joilla on virhesivuja.
- Poikkeuksia on saatavana vain näille sivuille.
- Oletusarvo on väärä.
IsErrorPage-syntaksin:
<%@ page isErrorPage="true/false"%>
Esimerkki:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>
Koodin selitys:
Edellä olevassa koodissa isErrorPage on asetettu tosi. Siksi se tarkistaa, että kaikilla muilla JSP: llä on määritetty errorPage (kuvattu seuraavassa määritteessä) attribuutti ja että se pystyy käsittelemään poikkeuksia.
- Sivun koodaus:
Oletusarvo on ISO-8859-1, jos muuta ei määritetä.
Sivun syntaksiKoodaus:
<%@ page pageEncoding="vaue" %>
Tässä arvossa määritetään JSP: n merkistöarvo
Esimerkki:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>
Koodin selitys:
Yllä olevassa koodissa "pageEncoding" on asetettu oletusarvoiseksi ISO-8859-1-merkistöksi
- errorPage:
Virhesivun syntaksi:
<%@ page errorPage="value" %>
Tässä arvo edustaa virheen JSP-sivun arvoa
Esimerkki:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>
Koodin selitys:
Yllä olevassa koodissa poikkeusten käsittelemiseksi meillä on errroHandler.jsp
- isELIgnored:
- IsELIgnored on lippumäärite, jossa meidän on päätettävä, jätetäänkö EL-tunnisteet huomiotta.
- Sen tietotyyppi on java enum ja oletusarvo on väärä, joten EL on oletusarvoisesti käytössä.
IsELIgnored: n syntaksi:
<%@ page isELIgnored="true/false" %>
Tosi / epätosi edustaa tässä EL-arvoa riippumatta siitä, pitäisikö se ohittaa vai ei.
Esimerkki:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>
Koodin selitys:
Edellä olevassa koodissa isELIgnored on tosi ja siten lausekekieli (EL) jätetään tässä huomioimatta.
Alla olevassa esimerkissä käytämme neljää määritettä (koodirivi 1-2)
Esimerkki neljästä attribuutista
<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%>Direktiivi Guru JSP1 Päivämäärä on: <% = uusi java.util.Date ()%>
Koodin selitys:
Koodirivi 1-2: Tässä on määritelty neljä määritettä eli
- Kieli: Se on asetettu Java: ksi ohjelmointikieleksi
- contentType: aseta tekstiksi / html kertomaan kääntäjälle, että html: n on oltava muotoinen
- pageEncoding: oletusmerkkijoukko on asetettu tähän määritteeseen
- isELIgnored: Lauseke on väärä, joten sitä ei ohiteta
Koodirivi 3: Tässä olemme käyttäneet import-attribuuttia, ja se tuo "Java-luokka", joka on peräisin Java util -paketista, ja yritämme näyttää nykyisen päivämäärän koodissa.
Kun suoritat yllä olevan koodin, saat seuraavan tuloksen
Tuotos :
- Päivämäärä on: Nykyinen päivämäärä päivämääräluokan päivämäärämenetelmällä
JSP Sisällytä direktiivi
- JSP "sisälly direktiivi" (koodisarja 8) käytetään sisällyttämään yksi tiedosto toiseen tiedostoon
- Tämä mukana oleva tiedosto voi olla HTML, JSP, tekstitiedostoja jne.
- Se on hyödyllinen myös luoda malleja käyttäjän näkymillä ja jakaa sivut otsikko-, alatunniste- ja sivupalkkitoimintoihin.
- Se sisältää tiedoston käännöksen aikana
Sisällytä sisällyttämisdirektiivi:
<%@ include… .%>
Esimerkki:
Direktiivi_jsp2.jsp (Päätiedosto)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "direction_header_jsp3.jsp"%>Guru-direktiivi JSP2 Tämä on päätiedosto
Director_header_jsp3.jsp (joka sisältyy päätiedostoon)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Otsikkotiedosto: <% int-määrä = 1; laskea ++;out.println (määrä);%>:
Koodin selitys:
Direktiivi_jsp2.jsp:
Koodirivi 3: Tässä koodissa käytämme sisällyttäviä tunnisteita, joihin sisällytetään tiedosto director_header_jsp3.jsp päätiedostoon (_jsp2.jsp) ja saadaan sekä päätiedoston että mukana olevan tiedoston ulostulo.
Directive_header_jsp3.jsp:
Koodirivi 11-12: Olemme ottaneet muuttujien määrän alustettavaksi arvoon 1 ja kasvattaneet sitä. Tämä antaa tuloksen päätiedostossa, kuten alla on esitetty.
Kun suoritat yllä olevan koodin, saat seuraavan tuloksen:
Tuotos:
- Lähtö on Header file: 2: Tämä on päätiedosto
- Lähtö suoritetaandirektiivi_jsp2.jsp-tiedostosta, kun taas mukana oleva tiedosto_direktiivi_header_jsp3.jsp käännetään ensin.
- Kun mukana oleva tiedosto on valmis, päätiedosto suoritetaan, ja lähtö tulee päätiedostosta "Tämä on päätiedosto". Joten saat tuloksen otsikkotiedostona: 2 tiedostosta _jsp3.jsp ja "Tämä on päätiedosto" tiedostosta _jsp2.jsp.
JSP Taglib -direktiivi
- JSP taglib -direktiiviä käytetään määrittelemään tag-kirjasto, jossa etuliitteenä on "taglib", jota voimme käyttää JSP: ssä.
- Lisätietoja käsitellään JSP: n mukautetut tagit -osiossa
- JSP-taglib-direktiiviä käytetään JSP-sivuilla käyttämällä JSP-standardin tag-kirjastoja
- Se käyttää joukkoa mukautettuja tunnisteita, tunnistaa kirjaston sijainnin ja tarjoaa keinot tunnistaa mukautetut tunnisteet JSP-sivulla.
Taglib-direktiivin syntaksi:
<%@ taglib uri="uri" prefix="value"%>
Tässä "uri" -attribuutti on yksilöivä tunniste tag-kirjaston kuvauksessa ja "prefix" -attribuutti on tagin nimi.
Esimerkki:
<% @ 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-direktiivin JSP
Koodin selitys:
Koodirivi 3: Tässä "taglib" määritetään attribuuteilla uri ja etuliitteellä.
Koodirivi 9: "gurutag" on määritelty mukautettu tunniste, jota voidaan käyttää missä tahansa