Οδηγίες JSP: Σελίδα, Συμπερίληψη & Εκμάθηση Taglib

Πίνακας περιεχομένων:

Anonim

Τι είναι οι οδηγίες JSP;

  • Οι οδηγίες JSP είναι τα μηνύματα προς το κοντέινερ JSP. Παρέχουν παγκόσμιες πληροφορίες σχετικά με μια ολόκληρη σελίδα JSP.
  • Οι οδηγίες JSP χρησιμοποιούνται για να δώσουν ειδικές οδηγίες σε ένα κοντέινερ για τη μετάφραση του JSP σε servlet code.
  • Στη φάση κύκλου ζωής JSP, το JSP πρέπει να μετατραπεί σε servlet που είναι η φάση μετάφρασης.
  • Δίνουν οδηγίες στον περιέκτη σχετικά με τον τρόπο χειρισμού ορισμένων πτυχών της επεξεργασίας JSP
  • Οι οδηγίες μπορούν να έχουν πολλά χαρακτηριστικά διαχωρισμένα με κόμμα ως ζεύγη τιμών-κλειδιών.
  • Στο JSP, η οδηγία περιγράφεται σε <% @%> ετικέτες.

Σύνταξη της Οδηγίας:

<%@ directive attribute %>

Υπάρχουν τρεις τύποι οδηγιών:

  1. Οδηγία σελίδας
  2. Συμπεριλάβετε την οδηγία
  3. Οδηγία Taglib

Καθένα από αυτά περιγράφεται λεπτομερώς παρακάτω με παραδείγματα:

Σε αυτό το σεμινάριο, θα μάθετε -

  • Οδηγία σελίδας JSP
  • Οδηγία συμπερίληψης JSP
  • Οδηγία JSP Taglib

Οδηγία σελίδας JSP

Σύνταξη οδηγίας σελίδας:

<%@ page… %>
  • Παρέχει χαρακτηριστικά που εφαρμόζονται σε ολόκληρη τη σελίδα JSP.
  • Ορίζει χαρακτηριστικά που εξαρτώνται από τη σελίδα, όπως γλώσσα δέσμης ενεργειών, σελίδα σφάλματος και απαιτήσεις αποθήκευσης.
  • Χρησιμοποιείται για την παροχή οδηγιών σε ένα κοντέινερ που σχετίζεται με την τρέχουσα σελίδα JSP.

Ακολουθεί η λίστα χαρακτηριστικών που σχετίζονται με την οδηγία σελίδας:

  1. Γλώσσα
  2. Επεκτείνεται
  3. Εισαγωγή
  4. Τύπος περιεχομένου
  5. πληροφορίες
  6. συνεδρία
  7. είναι το ThreadSafe
  8. αυτόματη συμπλήρωση
  9. ρυθμιστής
  10. IsErrorPage
  11. σελίδαΕ κωδικοποίηση
  12. errorPage
  13. είναι ΕΙΔΙΚΑ

Περισσότερες λεπτομέρειες για κάθε χαρακτηριστικό

  1. language : Ορίζει τη γλώσσα προγραμματισμού (υποκείμενη γλώσσα) που χρησιμοποιείται στη σελίδα.

    Σύνταξη γλώσσας:

    <%@ page language="value" %>

    Εδώ είναι η τιμή προγραμματισμού (υποκείμενη γλώσσα)

Παράδειγμα:

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

Επεξήγηση του κώδικα: Στο παραπάνω παράδειγμα, η τιμή γλώσσας χαρακτηριστικού είναι η Java που είναι η υποκείμενη γλώσσα σε αυτήν την περίπτωση. Επομένως, ο κώδικας σε ετικέτες έκφρασης θα μεταγλωττίστηκε χρησιμοποιώντας μεταγλωττιστή java.

  1. Extends : Αυτό το χαρακτηριστικό χρησιμοποιείται για να επεκτείνει (κληρονομήσει) την τάξη όπως κάνει η JAVA

Σύνταξη επεκτάσεων:

<%@ page extends="value" %>

Εδώ η τιμή αντιπροσωπεύει κλάση από την οποία πρέπει να κληρονομηθεί.

Παράδειγμα:

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

Επεξήγηση του κώδικα: Στον παραπάνω κώδικα, το JSP επεκτείνει το DemoClass που βρίσκεται στο πακέτο demotest και θα επεκτείνει όλες τις δυνατότητες της κλάσης.

  1. Εισαγωγή : Αυτό το χαρακτηριστικό χρησιμοποιείται πιο συχνά στα χαρακτηριστικά οδηγιών σελίδας. Χρησιμοποιείται για να πει στο κοντέινερ να εισαγάγει άλλες κλάσεις java, διεπαφές, αριθμούς κ.λπ. κατά τη δημιουργία κώδικα servlet. Είναι παρόμοιο με τις δηλώσεις εισαγωγής σε κλάσεις java, διεπαφές.

Σύνταξη εισαγωγής :

<%@ page import="value" %>

Εδώ η τιμή δείχνει τις κλάσεις που πρέπει να εισαχθούν.

Παράδειγμα:

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

Επεξήγηση του κωδικού:

Στον παραπάνω κώδικα, εισάγουμε κλάση ημερομηνίας από το πακέτο java.util (όλες οι κλάσεις χρησιμότητας) και μπορεί να χρησιμοποιήσει όλες τις μεθόδους της ακόλουθης κλάσης.

  1. τύπος περιεχομένου :
  • Ορίζει το σχήμα κωδικοποίησης χαρακτήρων, δηλαδή χρησιμοποιείται για τον καθορισμό του τύπου περιεχομένου και του συνόλου χαρακτήρων της απόκρισης
  • Ο προεπιλεγμένος τύπος contentType είναι "text / html; charset = ISO-8859-1".

Σύνταξη του περιεχομένου Τύπος:

<%@ page contentType="value" %>

Παράδειγμα:

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

Επεξήγηση του κωδικού:

Στον παραπάνω κώδικα, ο τύπος περιεχομένου έχει οριστεί ως κείμενο / html, ορίζει κωδικοποίηση χαρακτήρων για JSP και για τη σελίδα δημιουργίας απόκρισης.

  1. πληροφορίες
  • Καθορίζει μια συμβολοσειρά στην οποία μπορείτε να έχετε πρόσβαση με τη μέθοδο getServletInfo ().
  • Αυτό το χαρακτηριστικό χρησιμοποιείται για να ορίσετε την περιγραφή servlet.

Σύνταξη πληροφοριών:

<%@ page info="value" %>

Εδώ, η τιμή αντιπροσωπεύει τις πληροφορίες servlet.

Παράδειγμα:

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

Επεξήγηση του κωδικού:

Στον παραπάνω κώδικα, η συμβολοσειρά "Guru Directive JSP" μπορεί να ανακτηθεί από τη διεπαφή servlet χρησιμοποιώντας το getServletInfo ()

  1. Συνεδρία
  • Η σελίδα JSP δημιουργεί συνεδρία από προεπιλογή.
  • Μερικές φορές δεν χρειαζόμαστε μια περίοδο σύνδεσης για να δημιουργηθεί στο JSP, και ως εκ τούτου, μπορούμε να ορίσουμε αυτό το χαρακτηριστικό σε false σε αυτήν την περίπτωση. Η προεπιλεγμένη τιμή του χαρακτηριστικού περιόδου σύνδεσης είναι αληθής και δημιουργείται η περίοδος σύνδεσης.

    Όταν έχει οριστεί σε false, τότε μπορούμε να υποδείξουμε ότι ο μεταγλωττιστής δεν θα δημιουργήσει την περίοδο λειτουργίας από προεπιλογή.

Σύνταξη περιόδου σύνδεσης:

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

Εδώ σε αυτήν την περίπτωση το χαρακτηριστικό session μπορεί να οριστεί σε true ή false

Παράδειγμα:

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

Επεξήγηση κωδικού:

Στο παραπάνω παράδειγμα, το χαρακτηριστικό περιόδου λειτουργίας έχει οριστεί σε "false", επομένως υποδεικνύουμε ότι δεν θέλουμε να δημιουργήσουμε καμία συνεδρία σε αυτό το JSP

  1. είναι το ThreadSafe:
  • Καθορίζει το μοντέλο σπειρώματος για το servlet που δημιουργείται.
  • Υποδεικνύει το επίπεδο ασφάλειας του νήματος που εφαρμόζεται στη σελίδα.
  • Η προεπιλεγμένη τιμή του ισχύει τόσο ταυτόχρονα
  • Μπορούμε να χρησιμοποιήσουμε αυτό το χαρακτηριστικό για να εφαρμόσουμε τη διεπαφή SingleThreadModel σε δημιουργημένο servlet.
  • Εάν το ορίσουμε σε ψευδές, τότε θα εφαρμόσει το SingleThreadModel και μπορεί να έχει πρόσβαση σε κοινόχρηστα αντικείμενα και μπορεί να αποδώσει ασυνέπεια.

Σύνταξη του isThreadSafe:

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

Εδώ το true ή false αντιπροσωπεύει εάν ο συγχρονισμός υπάρχει τότε ορίστε ως true και ορίστε το ως false.

Παράδειγμα:

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

Επεξήγηση του κωδικού:

Στον παραπάνω κώδικα, το isThreadSafe έχει οριστεί σε "true", επομένως θα γίνει συγχρονισμός και μπορούν να χρησιμοποιηθούν πολλά νήματα.

  1. AutoFlush:

Αυτό το χαρακτηριστικό καθορίζει ότι η αποθηκευμένη έξοδος θα πρέπει να ξεπλυθεί αυτόματα ή όχι και η προεπιλεγμένη τιμή αυτού του χαρακτηριστικού είναι αληθής.

Εάν η τιμή οριστεί ως ψευδής, το buffer δεν θα ξεπλυθεί αυτόματα και εάν είναι πλήρες, θα λάβουμε μια εξαίρεση.

Όταν το buffer δεν είναι κανένα, τότε το false είναι παράνομο και δεν υπάρχει buffering, οπότε θα ξεπλυθεί αυτόματα.

Σύνταξη του autoFlush:

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

Εδώ το true / false αντιπροσωπεύει εάν πρέπει να γίνει buffering ή όχι

Παράδειγμα:

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

Επεξήγηση του κωδικού:

Στον παραπάνω κώδικα, η αυτόματη συμπλήρωση έχει οριστεί σε ψευδής και επομένως δεν θα γίνει αποθήκευση της προσωρινής αποθήκευσης και έχει χειροκίνητα εκκαθάριση της εξόδου.

  1. Ρυθμιστής:
  • Χρησιμοποιώντας αυτό το χαρακτηριστικό, το αντικείμενο απόκρισης εξόδου ενδέχεται να είναι προσωρινά αποθηκευμένο.
  • Μπορούμε να καθορίσουμε το μέγεθος της προσωρινής αποθήκευσης που πρέπει να γίνει χρησιμοποιώντας αυτό το χαρακτηριστικό και το προεπιλεγμένο μέγεθος είναι 8KB.
  • Κατευθύνει το servlet να γράψει το buffer πριν γράψει στο αντικείμενο απόκρισης.

Σύνταξη buffer:

<%@ page buffer="value" %>

Εδώ η τιμή αντιπροσωπεύει το μέγεθος του buffer που πρέπει να καθοριστεί. Εάν δεν υπάρχει buffer, τότε μπορούμε να γράψουμε ως κανένα, και αν δεν αναφέρουμε καμία τιμή, τότε η προεπιλογή είναι 8KB

Παράδειγμα:

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

Επεξήγηση του κωδικού:

Στον παραπάνω κώδικα, το μέγεθος του buffer αναφέρεται ως 16KB όπου το buffer θα ήταν αυτού του μεγέθους

  1. isErrorPage:
  • Υποδεικνύει ότι η σελίδα JSP που έχει errorPage θα ελεγχθεί σε άλλη σελίδα JSP
  • Οποιοδήποτε αρχείο JSP δηλώνεται με το χαρακτηριστικό "isErrorPage" είναι στη συνέχεια ικανό να λαμβάνει εξαιρέσεις από άλλες σελίδες JSP που έχουν σελίδες σφάλματος.
  • Εξαιρέσεις είναι διαθέσιμες μόνο σε αυτές τις σελίδες.
  • Η προεπιλεγμένη τιμή είναι ψευδής.

Σύνταξη του isErrorPage:

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

Παράδειγμα:

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

Επεξήγηση του κωδικού:

Στον παραπάνω κώδικα, το isErrorPage έχει οριστεί ως αληθινό. Ως εκ τούτου, θα ελέγξει ότι άλλα JSPs έχουν σύνολο χαρακτηριστικών errorPage (περιγράφεται στο επόμενο χαρακτηριστικό) και μπορεί να χειριστεί εξαιρέσεις.

  1. Κωδικοποίηση σελίδας:
Το χαρακτηριστικό "pageEncoding" καθορίζει την κωδικοποίηση χαρακτήρων για τη σελίδα JSP.

Η προεπιλογή καθορίζεται ως "ISO-8859-1" εάν δεν έχει οριστεί άλλη.

Σύνταξη σελίδας Κωδικοποίηση:

<%@ page pageEncoding="vaue" %>

Εδώ η τιμή καθορίζει την τιμή charset για το JSP

Παράδειγμα:

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

Επεξήγηση του κωδικού:

Στον παραπάνω κώδικα "pageEncoding" έχει οριστεί σε προεπιλεγμένο charset ISO-8859-1

  1. errorPage:
Αυτό το χαρακτηριστικό χρησιμοποιείται για να ορίσει τη σελίδα σφάλματος για τη σελίδα JSP εάν το JSP ρίξει μια εξαίρεση και στη συνέχεια ανακατευθύνει στη σελίδα εξαιρέσεων.

Σύνταξη σφάλματος Σελίδα:

<%@ page errorPage="value" %>

Εδώ η τιμή αντιπροσωπεύει την τιμή σελίδας σφάλματος JSP

Παράδειγμα:

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

Επεξήγηση του κωδικού:

Στον παραπάνω κώδικα, για να χειριστούμε τις εξαιρέσεις έχουμε errroHandler.jsp

  1. αγνοείται:
  • Το IsELIgnored είναι ένα χαρακτηριστικό flag όπου πρέπει να αποφασίσουμε αν θα αγνοήσουμε τις ετικέτες EL ή ​​όχι.
  • Ο τύπος δεδομένων του είναι java enum και η προεπιλεγμένη τιμή είναι ψευδής, επομένως το EL είναι ενεργοποιημένο από προεπιλογή.

Σύνταξη του IEL Αγνοήθηκε:

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

Εδώ, true / false αντιπροσωπεύει την τιμή του EL είτε πρέπει να αγνοηθεί είτε όχι.

Παράδειγμα:

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

Επεξήγηση του κωδικού:

Στον παραπάνω κώδικα, isELIgnored είναι αλήθεια και ως εκ τούτου αγνοείται η γλώσσα έκφρασης (EL) εδώ.

Στο παρακάτω παράδειγμα χρησιμοποιούμε τέσσερα χαρακτηριστικά (γραμμή κώδικα 1-2)

Παράδειγμα με τέσσερα χαρακτηριστικά

<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%><κεφάλι>> Οδηγία Guru JSP1 <άτομο> Ημερομηνία είναι: <% = νέο java.util.Date ()%>

Επεξήγηση του κωδικού:

Γραμμή κώδικα 1-2: Εδώ έχουμε ορίσει τέσσερα χαρακτηριστικά, δηλαδή

  • Γλώσσα: Ορίζεται ως Java ως γλώσσα προγραμματισμού
  • contentType: ορίστε ως κείμενο / html για να πείτε στον μεταγλωττιστή ότι το html πρέπει να έχει μορφή
  • pageEncoding: το προεπιλεγμένο σύνολο χαρακτήρων έχει οριστεί σε αυτό το χαρακτηριστικό
  • isELIgnored: Η ετικέτα έκφρασης είναι ψευδής, επομένως δεν αγνοείται

Γραμμή κώδικα 3: Εδώ έχουμε χρησιμοποιήσει το χαρακτηριστικό εισαγωγής, και εισάγει το "Class class" που είναι από το πακέτο util Java και προσπαθούμε να εμφανίσουμε την τρέχουσα ημερομηνία στον κώδικα.

Όταν εκτελέσετε τον παραπάνω κώδικα, θα λάβετε την ακόλουθη έξοδο

Έξοδος :

  • Ημερομηνία είναι: Τρέχουσα ημερομηνία χρησιμοποιώντας τη μέθοδο ημερομηνίας της τάξης ημερομηνιών

Οδηγία συμπερίληψης JSP

  • Το JSP "include οδηγία" (κωδικός 8) χρησιμοποιείται για να συμπεριλάβει ένα αρχείο στο άλλο αρχείο
  • Αυτό το συμπεριλαμβανόμενο αρχείο μπορεί να είναι HTML, JSP, αρχεία κειμένου κ.λπ.
  • Είναι επίσης χρήσιμο στη δημιουργία προτύπων με τις προβολές των χρηστών και να σπάσει τις σελίδες σε ενέργειες κεφαλίδας & υποσέλιδου και πλευρικής γραμμής.
  • Περιλαμβάνει αρχείο κατά τη φάση μετάφρασης

Σύνταξη οδηγίας συμπερίληψης:

<%@ include… .%>

Παράδειγμα:

Directive_jsp2.jsp (Κύριο αρχείο)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "Directive_header_jsp3.jsp"%><κεφάλι>> Οδηγία Γκουρού JSP2 <άτομο> Αυτό είναι το κύριο αρχείο 

Directive_header_jsp3.jsp (το οποίο περιλαμβάνεται στο κύριο αρχείο)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><κεφάλι>><άτομο> Αρχείο κεφαλίδας: <% int count = 1; μέτρηση ++;out.println (πλήθος);%>:

Επεξήγηση του κωδικού:

Οδηγία_jsp2.jsp:

Γραμμή κώδικα 3: Σε αυτόν τον κώδικα, χρησιμοποιούμε ετικέτες include όπου συμπεριλαμβάνουμε το αρχείο direktif_header_jsp3.jsp στο κύριο αρχείο (_jsp2.jsp) και λαμβάνει την έξοδο και του κύριου αρχείου και του συμπεριλαμβανόμενου αρχείου.

Οδηγία_header_jsp3.jsp:

Γραμμή κώδικα 11-12: Έχουμε λάβει έναν αριθμό μεταβλητών που αρχικοποιήθηκε σε 1 και στη συνέχεια το αυξήσαμε. Αυτό θα δώσει την έξοδο στο κύριο αρχείο όπως φαίνεται παρακάτω.

Όταν εκτελείτε τον παραπάνω κώδικα λαμβάνετε την ακόλουθη έξοδο:

Παραγωγή:

  • Το αποτέλεσμα είναι το αρχείο Header: 2: Αυτό είναι το κύριο αρχείο
  • Η έξοδος εκτελείται από το αρχείο direktif_jsp2.jsp ενώ το αρχείο που συμπεριλαμβάνεται στο Directive_header_jsp3.jsp θα καταρτιστεί πρώτα.
  • Αφού ολοκληρωθεί το συμπεριλαμβανόμενο αρχείο, εκτελείται το κύριο αρχείο και η έξοδος θα προέρχεται από το κύριο αρχείο "Αυτό είναι το κύριο αρχείο". Έτσι θα λάβετε την έξοδο ως "Αρχείο κεφαλίδας: 2" από το _jsp3.jsp και "Αυτό είναι το κύριο αρχείο" από το _jsp2.jsp.

Οδηγία JSP Taglib

  • Η οδηγία JSP taglib χρησιμοποιείται για να ορίσει τη βιβλιοθήκη ετικετών με το "taglib" ως πρόθεμα, το οποίο μπορούμε να χρησιμοποιήσουμε στο JSP.
  • Περισσότερες λεπτομέρειες θα καλυφθούν στην ενότητα Προσαρμοσμένες ετικέτες JSP
  • Η οδηγία JSP taglib χρησιμοποιείται στις σελίδες JSP χρησιμοποιώντας τις τυπικές βιβλιοθήκες ετικετών JSP
  • Χρησιμοποιεί ένα σύνολο προσαρμοσμένων ετικετών, προσδιορίζει την τοποθεσία της βιβλιοθήκης και παρέχει μέσα αναγνώρισης προσαρμοσμένων ετικετών στη σελίδα JSP.

Σύνταξη της οδηγίας taglib:

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

Εδώ το χαρακτηριστικό "uri" είναι ένα μοναδικό αναγνωριστικό στην περιγραφή της βιβλιοθήκης ετικετών και το χαρακτηριστικό "πρόθεμα" είναι ένα όνομα ετικέτας.

Παράδειγμα:

<% @ 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"%><κεφάλι>> Οδηγία Γκουρού JSP <άτομο>

Επεξήγηση του κωδικού:

Γραμμή κώδικα 3: Εδώ το "taglib" ορίζεται με χαρακτηριστικά uri και πρόθεμα.

Γραμμή κώδικα 9: "gurutag" είναι η προσαρμοσμένη ετικέτα που ορίζεται και μπορεί να χρησιμοποιηθεί οπουδήποτε