Directivele JSP: Pagina, Includeți & Tutorial Taglib

Cuprins:

Anonim

Ce sunt directivele JSP?

  • Directivele JSP sunt mesajele către containerul JSP. Acestea oferă informații globale despre o întreagă pagină JSP.
  • Directivele JSP sunt utilizate pentru a da instrucțiuni speciale unui container pentru traducerea JSP în cod servlet.
  • În faza ciclului de viață JSP, JSP trebuie convertit într-un servlet care este faza de traducere.
  • Aceștia dau instrucțiuni containerului despre cum să gestioneze anumite aspecte ale procesării JSP
  • Directivele pot avea multe atribute prin virgulă separate ca perechi cheie-valoare.
  • În JSP, directiva este descrisă în etichete <% @%>.

Sintaxa directivei:

<%@ directive attribute %>

Există trei tipuri de directive:

  1. Directiva paginii
  2. Includeți directiva
  3. Directiva Taglib

Fiecare dintre ele este descris în detaliu mai jos, cu exemple:

În acest tutorial, veți învăța -

  • Directiva JSP Page
  • Directiva JSP Include
  • Directiva JSP Taglib

Directiva JSP Page

Sintaxa directivei de pagină:

<%@ page… %>
  • Oferă atribute care se aplică întregii pagini JSP.
  • Acesta definește atributele dependente de pagină, cum ar fi limbajul de scriptare, pagina de eroare și cerințele de tamponare.
  • Este utilizat pentru a furniza instrucțiuni unui container care se referă la pagina JSP curentă.

Următoarele sunt lista atributelor asociate cu directiva paginii:

  1. Limba
  2. Se extinde
  3. Import
  4. tipul de conținut
  5. info
  6. sesiune
  7. isThreadSafe
  8. autofosh
  9. tampon
  10. IsErrorPage
  11. paginaCodare
  12. ErrorPage
  13. este ELIgonorat

Mai multe detalii despre fiecare atribut

  1. limbaj : definește limbajul de programare (limbajul de bază) utilizat în pagină.

    Sintaxa limbajului:

    <%@ page language="value" %>

    Aici valoarea este limbajul de programare (limbajul de bază)

Exemplu:

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

Explicația codului: În exemplul de mai sus, valoarea limbajului atribut este Java, care este limbajul de bază în acest caz. Prin urmare, codul din etichetele de expresie ar fi compilat utilizând compilatorul Java.

  1. Extinde : Acest atribut este utilizat pentru a extinde (moșteni) clasa, așa cum o face JAVA

Sintaxa extinde:

<%@ page extends="value" %>

Aici valoarea reprezintă clasa din care trebuie moștenită.

Exemplu:

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

Explicația codului: în codul de mai sus, JSP extinde DemoClass, care se află în pachetul demotest și va extinde toate caracteristicile clasei.

  1. Import : Acest atribut este cel mai utilizat atribut în atributele directivei de pagină. Este folosit pentru a spune containerului să importe alte clase java, interfețe, enumere etc. în timp ce generează cod servlet. Este similar cu declarațiile de import din clasele java, interfețe.

Sintaxa importului :

<%@ page import="value" %>

Aici valoarea indică clasele care trebuie importate.

Exemplu:

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

Explicația codului:

În codul de mai sus, importăm clasa Date din pachetul java.util (toate clasele de utilități) și poate utiliza toate metodele din clasa următoare.

  1. contentType :
  • Acesta definește schema de codificare a caracterelor, adică este utilizată pentru a seta tipul de conținut și setul de caractere al răspunsului
  • Tipul implicit de contentType este „text / html; charset = ISO-8859-1”.

Sintaxa conținutului Tip:

<%@ page contentType="value" %>

Exemplu:

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

Explicația codului:

În codul de mai sus, tipul de conținut este setat ca text / html, stabilește codificarea caracterelor pentru JSP și pentru pagina de răspuns generată.

  1. info
  • Acesta definește un șir care poate fi accesat prin metoda getServletInfo ().
  • Acest atribut este utilizat pentru a seta descrierea servletului.

Sintaxa informațiilor:

<%@ page info="value" %>

Aici, valoarea reprezintă informațiile servletului.

Exemplu:

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

Explicația codului:

În codul de mai sus, șirul „Directiva Guru JSP” poate fi recuperat de interfața servlet folosind getServletInfo ()

  1. Sesiune
  • Pagina JSP creează sesiunea în mod implicit.
  • Uneori nu avem nevoie de o sesiune pentru a fi creat în JSP și, prin urmare, putem seta acest atribut la fals în acest caz. Valoarea implicită a atributului de sesiune este adevărată, iar sesiunea este creată.

    Când este setat la fals, atunci putem indica compilatorului să nu creeze sesiunea în mod implicit.

Sintaxa sesiunii:

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

Aici, în acest caz, atributul sesiunii poate fi setat la adevărat sau fals

Exemplu:

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

Explicația codului:

În exemplul de mai sus, atributul sesiunii este setat la „fals”, de aceea indicăm că nu dorim să creăm nicio sesiune în acest JSP

  1. isThreadSafe:
  • Acesta definește modelul de filetare pentru servletul generat.
  • Indică nivelul de siguranță a firelor implementat în pagină.
  • Valoarea sa implicită este adevărată deci simultană
  • Putem folosi acest atribut pentru a implementa interfața SingleThreadModel în servletul generat.
  • Dacă îl setăm la fals, atunci acesta va implementa SingleThreadModel și poate accesa orice obiecte partajate și poate produce inconsistență.

Sintaxa lui isThreadSafe:

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

Aici adevărat sau fals reprezintă dacă există sincronizare, apoi setați ca adevărat și setați-l ca fals.

Exemplu:

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

Explicația codului:

În codul de mai sus, isThreadSafe este setat la „adevărat”, prin urmare se va face sincronizarea și pot fi utilizate mai multe fire.

  1. AutoFlush:

Acest atribut specifică faptul că ieșirea tamponată trebuie spălată automat sau nu și valoarea implicită a atributului respectiv este adevărată.

Dacă valoarea este setată la fals, tamponul nu va fi spălat automat și dacă este plin, vom obține o excepție.

Când tamponul nu este nici unul, atunci falsul este ilegitim și nu există tampon, deci va fi spălat automat.

Sintaxa autoFlush:

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

Aici adevărat / fals reprezintă dacă buffering-ul trebuie făcut sau nu

Exemplu:

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

Explicația codului:

În codul de mai sus, autoflush-ul este setat la false și, prin urmare, tamponarea nu va fi realizată și va spăla manual ieșirea.

  1. Tampon:
  • Folosind acest atribut, obiectul de răspuns de ieșire poate fi tamponat.
  • Putem defini dimensiunea tamponului care trebuie realizat folosind acest atribut, iar dimensiunea implicită este de 8 KB.
  • Direcționează servletul să scrie bufferul înainte de a scrie pe obiectul de răspuns.

Sintaxa tamponului:

<%@ page buffer="value" %>

Aici valoarea reprezintă dimensiunea buffer-ului care trebuie definit. Dacă nu există tampon, atunci putem scrie ca niciunul și dacă nu menționăm nicio valoare, atunci valoarea implicită este 8KB

Exemplu:

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

Explicația codului:

În codul de mai sus, dimensiunea buffer-ului este menționată ca 16 KB, în care buffer-ul ar fi de acea dimensiune

  1. isErrorPage:
  • Indică faptul că pagina JSP care are o pagină error va fi verificată într-o altă pagină JSP
  • Orice fișier JSP declarat cu atributul "isErrorPage" este apoi capabil să primească excepții de la alte pagini JSP care au pagini de eroare.
  • Excepții sunt disponibile numai pentru aceste pagini.
  • Valoarea implicită este falsă.

Sintaxa isErrorPage:

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

Exemplu:

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

Explicația codului:

În codul de mai sus, isErrorPage este setat ca fiind adevărat. Prin urmare, va verifica dacă orice alte JSP-uri au setul de atribute errorPage (descris în atributul următor) și poate gestiona excepții.

  1. Codare pagină:
Atributul „pageEncoding” definește codificarea caracterelor pentru pagina JSP.

Valoarea implicită este specificată ca "ISO-8859-1" dacă nu este specificată alta.

Sintaxa codării paginii:

<%@ page pageEncoding="vaue" %>

Aici valoarea specifică valoarea setului de caractere pentru JSP

Exemplu:

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

Explicația codului:

În codul de mai sus, „pageEncoding” a fost setat la setul de caractere implicit ISO-8859-1

  1. Pagina de eroare:
Acest atribut este folosit pentru a seta pagina de eroare pentru pagina JSP dacă JSP lansează o excepție și apoi redirecționează către pagina de excepție.

Sintaxa erorii Pagină:

<%@ page errorPage="value" %>

Aici valoarea reprezintă valoarea paginii JSP de eroare

Exemplu:

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

Explicația codului:

În codul de mai sus, pentru a gestiona excepțiile, avem errroHandler.jsp

  1. isELIgnored:
  • IsELIgnored este un atribut de semnalizare în care trebuie să decidem dacă ignorăm sau nu etichetele EL.
  • Tipul său de date este java enum, iar valoarea implicită este falsă, prin urmare EL este activat în mod implicit.

Sintaxa lui isELIgnored:

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

Aici, adevărat / fals reprezintă valoarea EL indiferent dacă ar trebui ignorată sau nu.

Exemplu:

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

Explicația codului:

În codul de mai sus, isELIgnored este adevărat și, prin urmare, Limbajul de expresie (EL) este ignorat aici.

În exemplul de mai jos folosim patru atribute (linia de cod 1-2)

Exemplu cu patru atribute

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

Explicația codului:

Linia de cod 1-2: Aici am definit patru atribute, adică

  • Limbaj: Este setat ca Java ca limbaj de programare
  • contentType: setat ca text / html pentru a spune compilatorului că html trebuie să fie formatat
  • pageEncoding: setul de caractere implicit este setat în acest atribut
  • isELIgnored: eticheta de expresie este falsă, prin urmare nu este ignorată

Linia de cod 3: Aici am folosit atributul de import și se importă „Clasa dată” care provine din pachetul Java util și încercăm să afișăm data curentă în cod.

Când executați codul de mai sus, veți obține următoarea ieșire

Ieșire :

  • Data este: Data curentă utilizând metoda datei din clasa de date

Directiva JSP Include

  • JSP „include directivă” (linia de cod 8) este utilizată pentru a include un fișier în alt fișier
  • Acest fișier inclus poate fi HTML, JSP, fișiere text etc.
  • De asemenea, este util în crearea de șabloane cu vizualizările utilizatorului și împărțirea paginilor în acțiuni antet și subsol și bara laterală.
  • Include fișier în timpul fazei de traducere

Sintaxa directivei include:

<%@ include… .%>

Exemplu:

Directive_jsp2.jsp (Fișier principal)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "directive_header_jsp3.jsp"%> Directiva Guru JSP2  Acesta este fișierul principal 

Directive_header_jsp3.jsp (care este inclus în fișierul principal)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Fișier antet: <% int count = 1; conta ++;out.println (count);%>:

Explicația codului:

Directive_jsp2.jsp:

Linia de cod 3: În acest cod, folosim etichete include unde includem fișierul directive_header_jsp3.jsp în fișierul principal (_jsp2.jsp) și obține ieșirea atât a fișierului principal, cât și a fișierului inclus.

Directive_header_jsp3.jsp:

Linia de cod 11-12: Am luat un număr variabil inițializat la 1 și apoi l-am incrementat. Aceasta va da rezultatul în fișierul principal așa cum se arată mai jos.

Când executați codul de mai sus, obțineți următoarea ieșire:

Ieșire:

  • Ieșirea este Fișier antet: 2: Acesta este fișierul principal
  • Ieșirea este executată din fișierul directive_jsp2.jsp, în timp ce fișierul inclus directive_header_jsp3.jsp va fi compilat mai întâi.
  • După finalizarea fișierului inclus, fișierul principal este executat, iar ieșirea va fi din fișierul principal „Acesta este fișierul principal”. Deci veți obține rezultatul ca „Header file: 2” din _jsp3.jsp și „This is main file” din _jsp2.jsp.

Directiva JSP Taglib

  • Directiva JSP taglib este utilizată pentru a defini biblioteca de etichete cu „taglib” ca prefix, pe care îl putem folosi în JSP.
  • Mai multe detalii vor fi acoperite în secțiunea JSP Custom Tags
  • Directiva JSP taglib este utilizată în paginile JSP utilizând bibliotecile de etichete standard JSP
  • Utilizează un set de etichete personalizate, identifică locația bibliotecii și oferă mijloace de identificare a etichetelor personalizate în pagina JSP.

Sintaxa directivei taglib:

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

Aici atributul „uri” este un identificator unic în descriptorul bibliotecii de etichete, iar atributul „prefix” este un nume de etichetă.

Exemplu:

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

Explicația codului:

Linia de cod 3: Aici "taglib" este definit cu atribute uri și prefix.

Linia de cod 9: „gurutag” este eticheta personalizată definită și poate fi utilizată oriunde