Smernice JSP: Stránka, Zahrnúť & Výukový program pre Taglib

Obsah:

Anonim

Čo sú smernice JSP?

  • Direktívy JSP sú správy do kontajnera JSP. Poskytujú globálne informácie o celej stránke JSP.
  • Príkazy JSP sa používajú na poskytnutie špeciálnej inštrukcie kontajneru na preklad JSP do kódu servletu.
  • Vo fáze životného cyklu JSP musí byť JSP prevedený na servlet, ktorý je fázou prekladu.
  • Dávajú kontajneru pokyny, ako zaobchádzať s určitými aspektmi spracovania JSP
  • Smernice môžu mať veľa atribútov oddelených čiarkami ako páry kľúč - hodnota.
  • V JSP je smernica opísaná v značkách <% @%>.

Syntax smernice:

<%@ directive attribute %>

Existujú tri typy smerníc:

  1. Smernica o stránke
  2. Zahrnúť smernicu
  3. Smernica Taglib

Každá z nich je podrobne popísaná nižšie s príkladmi:

V tomto výučbe sa dozviete -

  • Smernica JSP Page
  • JSP Zahrnúť smernicu
  • Smernica JSP Taglib

Smernica JSP Page

Syntax smernice Page:

<%@ page… %>
  • Poskytuje atribúty, ktoré sa použijú na celú stránku JSP.
  • Definuje atribúty závislé na stránke, ako napríklad skriptovací jazyk, chybová stránka a požiadavky na ukladanie do vyrovnávacej pamäte.
  • Používa sa na poskytnutie pokynov pre kontajner, ktorý sa týka aktuálnej stránky JSP.

Nasleduje zoznam jej atribútov spojených so smernicou stránky:

  1. Jazyk
  2. Predlžuje
  3. Import
  4. typ obsahu
  5. Info
  6. zasadanie
  7. isThreadSafe
  8. autoflush
  9. nárazník
  10. IsErrorPage
  11. pageEncoding
  12. errorPage
  13. isELIgonored

Viac podrobností o jednotlivých atribútoch

  1. jazyk : Definuje programovací jazyk (základný jazyk) používaný na stránke.

    Syntax jazyka:

    <%@ page language="value" %>

    Tu je hodnota programovací jazyk (základný jazyk)

Príklad:

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

Vysvetlenie kódu: Vo vyššie uvedenom príklade je hodnotou jazyka atribútu Java, ktorá je v tomto prípade základným jazykom. Preto by sa kód vo výrazových značkách kompiloval pomocou kompilátora java.

  1. Extends : Tento atribút sa používa na rozšírenie (zdedenie) triedy, ako to robí JAVA

Syntax rozšírení:

<%@ page extends="value" %>

Hodnota tu predstavuje triedu, z ktorej sa musí dediť.

Príklad:

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

Vysvetlenie kódu: Vo vyššie uvedenom kóde JSP rozširuje DemoClass, ktorý je v balíku demotest, a rozšíri všetky funkcie triedy.

  1. Import : Tento atribút je najbežnejším atribútom v atribútoch direktívy stránky. Používa sa na to, aby povedal kontajneru, aby pri generovaní kódu servletu importoval ďalšie triedy Java, rozhrania, enumy atď. Je to podobné ako pri príkazoch importu v triedach Java, rozhraniach.

Syntax importu :

<%@ page import="value" %>

Hodnota tu označuje triedy, ktoré sa musia importovať.

Príklad:

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

Vysvetlenie kódu:

Vo vyššie uvedenom kóde importujeme triedu Date z balíka java.util (všetky triedy nástrojov) a môže používať všetky metódy nasledujúcej triedy.

  1. contentType :
  • Definuje schému kódovania znakov, tj používa sa na nastavenie typu obsahu a znakovej sady odpovede
  • Predvolený typ contentType je „text / html; charset = ISO-8859-1“.

Syntax typu obsahu:

<%@ page contentType="value" %>

Príklad:

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

Vysvetlenie kódu:

Vo vyššie uvedenom kóde je typ obsahu nastavený ako text / html, nastavuje kódovanie znakov pre JSP a pre vygenerovanú stránku odpovede.

  1. Info
  • Definuje reťazec, ku ktorému je možné získať prístup metódou getServletInfo ().
  • Tento atribút sa používa na nastavenie popisu servletu.

Syntax informácií:

<%@ page info="value" %>

Táto hodnota predstavuje informácie o servlete.

Príklad:

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

Vysvetlenie kódu:

Vo vyššie uvedenom kóde je možné reťazec „Guru Directive JSP“ načítať rozhraním servletu pomocou getServletInfo ()

  1. Session
  • Stránka JSP predvolene vytvára reláciu.
  • Niekedy nepotrebujeme vytvorenie relácie v JSP, a preto môžeme v tomto prípade nastaviť tento atribút na hodnotu false. Predvolená hodnota atribútu session je true a relácia sa vytvorí.

    Keď je nastavená na hodnotu false, môžeme označiť, že kompilátor predvolene nevytvára reláciu.

Syntax relácie:

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

V tomto prípade môže byť atribút relácie nastavený na hodnotu true alebo false

Príklad:

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

Vysvetlenie kódu:

Vo vyššie uvedenom príklade je atribút relácie nastavený na hodnotu „false“, takže naznačujeme, že v tomto JSP nechceme vytvárať žiadnu reláciu.

  1. isThreadSafe:
  • Definuje model vlákna pre vygenerovaný servlet.
  • Označuje úroveň bezpečnosti vlákna implementovanú na stránke.
  • Jeho predvolená hodnota je pravda, takže súčasne
  • Tento atribút môžeme použiť na implementáciu rozhrania SingleThreadModel do generovaného servletu.
  • Ak ho nastavíme na hodnotu false, implementuje SingleThreadModel a má prístup k akýmkoľvek zdieľaným objektom a môže viesť k nekonzistencii.

Syntax isThreadSafe:

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

Tu true alebo false predstavuje, ak je tam synchronizácia, potom nastavte ako true a nastavte ju ako false.

Príklad:

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

Vysvetlenie kódu:

Vo vyššie uvedenom kóde je parameter isThreadSafe nastavený na hodnotu „true“, preto sa vykoná synchronizácia a je možné použiť viac vlákien.

  1. AutoFlush:

Tento atribút určuje, že výstup vo vyrovnávacej pamäti by sa mal vyprázdniť automaticky alebo nie a predvolená hodnota tohto atribútu je true.

Ak je hodnota nastavená na false, vyrovnávacia pamäť nebude automaticky vyprázdnená a ak je plná, dostaneme výnimku.

Ak vyrovnávacia pamäť nie je žiadna, potom je nepravdivá nelegitímna správa a nedochádza k žiadnemu ukladaniu do vyrovnávacej pamäte, takže sa vyprázdni automaticky.

Syntax funkcie autoFlush:

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

Tu true / false predstavuje, či sa musí ukladanie do vyrovnávacej pamäte vykonať alebo nie

Príklad:

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

Vysvetlenie kódu:

Vo vyššie uvedenom kóde je autoflush nastavený na hodnotu false, a preto sa nebude robiť medzipamäť a výstup bol vyprázdnený ručne.

  1. Vyrovnávacia pamäť:
  • Použitím tohto atribútu môže byť objekt výstupnej odpovede uložený do medzipamäte.
  • Pomocou tohto atribútu môžeme definovať veľkosť vyrovnávacej pamäte, ktorá sa má vykonať, a predvolená veľkosť je 8 kB.
  • Nasmeruje servlet, aby pred zápisom do objektu odpovede zapísal vyrovnávaciu pamäť.

Syntax medzipamäte:

<%@ page buffer="value" %>

Hodnota tu predstavuje veľkosť vyrovnávacej pamäte, ktorú je potrebné definovať. Ak nie je k dispozícii žiadna vyrovnávacia pamäť, potom môžeme písať ako žiadna, a ak neuvádzame žiadnu hodnotu, predvolená hodnota je 8 kB

Príklad:

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

Vysvetlenie kódu:

Vo vyššie uvedenom kóde je veľkosť vyrovnávacej pamäte uvedená ako 16 kB, pričom vyrovnávacia pamäť by mala túto veľkosť

  1. isErrorPage:
  • Znamená to, že stránka JSP, ktorá má stránku chyby, bude skontrolovaná na inej stránke JSP
  • Akýkoľvek súbor JSP deklarovaný s atribútom „isErrorPage“ je potom schopný prijímať výnimky z iných stránok JSP, ktoré majú chybové stránky.
  • Výnimky sú k dispozícii iba pre tieto stránky.
  • Predvolená hodnota je false.

Syntax stránky isErrorPage:

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

Príklad:

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

Vysvetlenie kódu:

Vo vyššie uvedenom kóde je parameter isErrorPage nastavený na hodnotu true. Preto skontroluje, či všetky ostatné súbory JSP majú nastavený atribút errorPage (popísaný v nasledujúcom atribúte) a dokáže spracovať výnimky.

  1. Kódovanie stránky:
Atribút „pageEncoding“ definuje kódovanie znakov pre stránku JSP.

Predvolená hodnota je špecifikovaná ako „ISO-8859-1“, ak nie je zadané iné.

Syntax kódovania stránky:

<%@ page pageEncoding="vaue" %>

Tu hodnota určuje hodnotu znakovej sady pre JSP

Príklad:

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

Vysvetlenie kódu:

Vo vyššie uvedenom kóde bola stránka „pageEncoding“ nastavená na predvolenú znakovú sadu ISO-8859-1

  1. errorPage:
Tento atribút sa používa na nastavenie chybovej stránky pre stránku JSP, ak JSP vyvolá výnimku a potom ju presmeruje na stránku výnimiek.

Syntax stránky errorPage:

<%@ page errorPage="value" %>

Táto hodnota predstavuje chybovú hodnotu stránky JSP

Príklad:

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

Vysvetlenie kódu:

Vo vyššie uvedenom kóde máme na spracovanie výnimiek errroHandler.jsp

  1. isELIgnorované:
  • IsELIgnored je atribút príznaku, kde sa musíme rozhodnúť, či budeme značky EL ignorovať alebo nie.
  • Jeho dátový typ je java enum a predvolená hodnota je false, preto je EL predvolene povolená.

Syntax isELIgnorovaná:

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

Tu predstavuje hodnota true / false hodnotu EL, či sa má alebo nemá ignorovať.

Príklad:

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

Vysvetlenie kódu:

Vo vyššie uvedenom kóde má parameter isELIgnored hodnotu true, a preto je tu ignorovaný jazyk Expression Language (EL).

V nasledujúcom príklade používame štyri atribúty (riadok kódu 1-2)

Príklad so štyrmi atribútmi

<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%> Smernica Guru JSP1  Dátum je: <% = nová java.util.Date ()%>

Vysvetlenie kódu:

Riadok kódu 1-2: Tu sme definovali štyri atribúty, tj

  • Jazyk: Je nastavený ako Java ako programovací jazyk
  • contentType: nastavený ako text / html, aby kompilátor povedal, že html musí byť formát
  • pageEncoding: v tomto atribúte je nastavená predvolená znaková sada
  • isELIgnored: Značka výrazu je nepravdivá, a preto nie je ignorovaná

Riadok kódu 3: Tu sme použili atribút import a importuje sa „trieda dátumu“, ktorá je z balíka Java util, a pokúšame sa v kóde zobraziť aktuálny dátum.

Po vykonaní vyššie uvedeného kódu získate nasledujúci výstup

Výstup :

  • Dátum je: Aktuálny dátum pomocou metódy dátumu v triede dátumov

JSP Zahrnúť smernicu

  • JSP "zahrnúť smernicu" (kód 8) sa používa na zahrnutie jedného súboru do iného súboru
  • Týmto zahrnutým súborom môžu byť HTML, JSP, textové súbory atď.
  • Je to tiež užitočné pri vytváraní šablón s používateľskými pohľadmi a rozdelení stránok na akcie hlavičky a päty a bočného panela.
  • Zahŕňa súbor počas fázy prekladu

Syntax direktívy include:

<%@ include… .%>

Príklad:

Directive_jsp2.jsp (hlavný súbor)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "directive_header_jsp3.jsp"%> Guru smernica JSP2  Toto je hlavný súbor 

Directive_header_jsp3.jsp (ktorý je zahrnutý v hlavnom súbore)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Hlavičkový súbor: <% int count = 1; počet ++;out.println (počet);%>:

Vysvetlenie kódu:

Directive_jsp2.jsp:

Riadok kódu 3: V tomto kóde používame značky na zahrnutie, kde do hlavného súboru (_jsp2.jsp) zaraďujeme súbor direktíva_header_jsp3.jsp, ktorý získava výstup tak z hlavného súboru, ako aj zo zahrnutého súboru.

Directive_header_jsp3.jsp:

Riadok kódu 11-12: Zobrali sme počet premenných inicializovaný na 1 a potom sme ich zvýšili. Takto získate výstup v hlavnom súbore, ako je uvedené nižšie.

Po vykonaní vyššie uvedeného kódu získate nasledujúci výstup:

Výkon:

  • Výstupom je súbor hlavičky: 2: Toto je hlavný súbor
  • Výstup je vykonávaný zo súboru direktória_jsp2.jsp, zatiaľ čo najskôr bude zostavený zahrnutý súbor direktória_jazer.jj3spsp.
  • Po dokončení zahrnutého súboru sa vykoná hlavný súbor a výstup bude z hlavného súboru „Toto je hlavný súbor“. Takže získate výstup ako „Hlavičkový súbor: 2“ z _jsp3.jsp a „Toto je hlavný súbor“ z _jsp2.jsp.

Smernica JSP Taglib

  • Direktíva JSP taglib slúži na definovanie knižnice značiek s predponou „taglib“, ktorú môžeme použiť v JSP.
  • Viac podrobností nájdete v sekcii Vlastné značky JSP
  • Direktíva JSP taglib sa používa na stránkach JSP pomocou štandardných knižníc značiek JSP
  • Používa sadu vlastných značiek, identifikuje umiestnenie knižnice a poskytuje prostriedky na identifikáciu vlastných značiek na stránke JSP.

Syntax smernice taglib:

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

Atribút „uri“ je v tomto prípade jedinečným identifikátorom v deskriptore knižnice značiek a atribút „prefix“ je názvom značky.

Príklad:

<% @ 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"%> Smernica Guru JSP 

Vysvetlenie kódu:

Riadok kódu 3: Tu je parameter „taglib“ definovaný s atribútmi uri a predponou.

Riadok kódu 9: „gurutag“ je definovaná vlastná značka, ktorú je možné použiť kdekoľvek