JSTL (Τυπική βιβλιοθήκη ετικετών JSP)

Σε αυτό το σεμινάριο JSTL, θα δούμε πώς η χρήση διαφορετικών ετικετών JSTL θα διευκολύνει την κωδικοποίηση JSP.

Σε τι είναι το JSTL Java?

JSTL σημαίνει Java τυπική βιβλιοθήκη ετικετών σελίδων διακομιστή και είναι μια συλλογή προσαρμοσμένων βιβλιοθηκών ετικετών JSP που παρέχουν κοινή λειτουργικότητα ανάπτυξης ιστού. Το JSTL είναι μια τυπική βιβλιοθήκη ετικετών του JSP.

Πλεονεκτήματα του JSTL

Παρακάτω είναι τα πλεονεκτήματα του JSTL:

  1. Τυπική ετικέτα: Παρέχει ένα πλούσιο επίπεδο της φορητής λειτουργικότητας των σελίδων JSP. Είναι εύκολο για έναν προγραμματιστή να κατανοήσει τον κώδικα.
  2. Κωδικός Προσεγμένος και Καθαρός: Καθώς τα σενάρια συγχέουν τους προγραμματιστές, η χρήση του JSTL κάνει τον κώδικα καθαρό και καθαρό.
  3. Αυτόματο JavabeansInterspection Support: Έχει ένα πλεονέκτημα του JSTL έναντι των JSP scriptlet. Χειρισμοί γλώσσας έκφρασης JSTL JavaΚωδικός φασολιού πολύ εύκολα. Δεν χρειάζεται να κάνουμε downcast τα αντικείμενα, τα οποία έχουν ανακτηθεί ως χαρακτηριστικά εμβέλειας. Η χρήση κώδικα JSP scriptlets θα είναι πολύπλοκη και η JSTL έχει απλοποιήσει αυτόν τον σκοπό.
  4. Πιο εύκολο να το διαβάσουν οι άνθρωποι: Το JSTL βασίζεται σε XML, το οποίο μοιάζει πολύ με το HTML. Ως εκ τούτου, είναι εύκολο για τους προγραμματιστές να το καταλάβουν.
  5. Πιο εύκολο να το καταλάβουν οι υπολογιστές: Εργαλεία όπως π.χ Dreamweaver και η πρώτη σελίδα παράγουν όλο και περισσότερο κώδικα HTML. Τα εργαλεία HTML κάνουν εξαιρετική δουλειά στη μορφοποίηση του κώδικα HTML. Ο κώδικας HTML αναμειγνύεται με τον κώδικα δέσμης ενεργειών. Καθώς το JSTL εκφράζεται ως ετικέτες συμβατές με XML, είναι εύκολο για τη δημιουργία HTML να αναλύσει τον κώδικα JSTL μέσα στο έγγραφο.

Ετικέτες JSTL

Οι βασικές ετικέτες είναι ετικέτες που χρησιμοποιούνται πιο συχνά στο JSP. Παρέχουν υποστήριξη για

  • Επανάληψη
  • Υπό όρους λογική
  • Πιάστε την εξαίρεση
  • url προώθηση
  • Ανακατεύθυνση κ.λπ.

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

Σύνταξη :

<%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core%>

Εδώ,

  • Το πρόθεμα μπορεί να χρησιμοποιηθεί για τον καθορισμό όλων των βασικών ετικετών και
  • Το uri είναι η βιβλιοθήκη του taglib από την οποία εισάγεται

Ας δούμε μερικές από τις βασικές ετικέτες λεπτομερώς,

1. Έξω

  • Το αποτέλεσμα της έκφρασης εμφανίζεται στην ετικέτα εξόδου
  • Μπορεί να ξεφύγει απευθείας από τις ετικέτες XML. Ως εκ τούτου, δεν αξιολογούνται ως πραγματικές ετικέτες

Σύνταξη:

<c:out value="" default="" escapeXML="">
  • Εδώ η τιμή αντιπροσωπεύει πληροφορίες στην έξοδο και είναι υποχρεωτική
  • Η προεπιλογή είναι η αποτυχία εξόδου πληροφοριών και δεν είναι υποχρεωτική
  • escapeXML – Είναι αλήθεια εάν διαφεύγει χαρακτήρες XML.

Παράδειγμα:

Coretag_jsp1.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Core Tag JSP1</title>
</head>
<body>

</body>
</html>

Επεξήγηση του κώδικα:

Κωδικός Γραμμή 3: Αυτό το πρόθεμα taglib απαιτείται για όλες τις ετικέτες και το πρόθεμα που προστίθεται είναι "c". Ως εκ τούτου, μπορεί να χρησιμοποιηθεί ως πρόθεμα για όλες τις επισημάνσεις κορώνας.

Κωδικός Γραμμή 12: Εδώ χρησιμοποιούμε το coretag out με το πρόθεμα "c" και αυτό το out θα εκτυπώσει την τιμή στην ετικέτα έκφρασης. Ως εκ τούτου, η έξοδος θα είναι όνομα

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

JSTL Core Tags - Out

Παραγωγή:

  • Λαμβάνουμε την τιμή ως όνομα από την κεντρική ετικέτα "out" που θα εκτυπωθεί στη ροή εξόδου.

2. Πιάστε

  • Πιάνει οποιαδήποτε εξαίρεση που μπορεί να πεταχτεί που εμφανίζεται στο σώμα και εμφανίζεται ως έξοδος.
  • Χρησιμοποιείται για τον χειρισμό των σφαλμάτων και για την σύλληψή τους.

Σύνταξη:

<c:catchvar="">

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

Παράδειγμα:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Core Tag JSP2</title>
</head>
<body>
<c:catch var="guruException">
   <% int num = 10/0; %>
</c:catch>
The Exception is : ${guruException} 
</body>
</html>

Επεξήγηση του κώδικα:

Κωδικός Γραμμή 3: Αυτό το πρόθεμα taglib απαιτείται για όλες τις ετικέτες και το πρόθεμα που προστίθεται είναι "c", επομένως μπορεί να χρησιμοποιηθεί ως πρόθεμα για όλες τις ετικέτες

Κωδικός Γραμμή 11-13: Το Coretag catch χρησιμοποιείται για τη σύλληψη της εξαίρεσης και την εκτύπωση της εξαίρεσης. Εδώ η εξαίρεση αυξάνεται όταν 10/0 και αυτή η εξαίρεση έχει το όνομα "guruException".

Κωδικός Γραμμή 14: Εκτυπώνουμε το "guruException".

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

JSTL Core Tags - Catch

Παραγωγή:

  • Λαμβάνουμε την αριθμητική εξαίρεση ως /με μηδέν και εκτυπώνεται στην έξοδο χρησιμοποιώντας τη μεταβλητή "guruException"

3. Εισαγωγή

  • Μπορούμε να εισαγάγουμε άλλο περιεχόμενο αρχείου σε μια σελίδα JSP όπως κάναμε Το JSP περιλαμβάνει δράση.
  • Εδώ μπορούμε επίσης να συμπεριλάβουμε τη διεύθυνση URL και τα περιεχόμενα θα εμφανίζονται σε αυτήν τη σελίδα.

Σύνταξη:

<c:importvar="" uri="">

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

coretag_jsp31.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Core Tag JSP 31</title>
</head>
<body>
<c:import var="displayfile" url="coretag_jsp32.jsp">
</c:import>
<c:out value="${displayfile}"/>
</body>
</html>

Coretag_jsp32.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<a>The file is diplayed after importing</a>
</body>
</html>

Επεξήγηση του κώδικα:

Coretag_jsp31.jsp

Κωδικός Γραμμή 3: Αυτό το πρόθεμα taglib απαιτείται για όλες τις ετικέτες και το πρόθεμα που προστίθεται είναι "c", επομένως μπορεί να χρησιμοποιηθεί ως πρόθεμα για όλες τις ετικέτες

Κωδικός Γραμμή 11-12: Εδώ εισάγουμε το αρχείο coretag_jsp32.jsp σε αυτό το αρχείο χρησιμοποιώντας την ετικέτα εισαγωγής

Κωδικός Γραμμή 13: Εδώ εκτυπώνουμε το αρχείο coretag_jsp32.jsp χρησιμοποιώντας out tag.

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

Ετικέτες πυρήνων JSTL - Εισαγωγή

Παραγωγή:

  • Το Coretag_jsp32 εκτυπώνεται στην έξοδο καθώς αυτό το αρχείο εισήχθη στο coretag_jsp31.jsp.

4. για Κάθε

  • Χρησιμοποιείται για την επανάληψη του αριθμού των στοιχείων σε σειρά δηλώσεων.
  • Είναι το ίδιο με το α Java forloop.

Σύνταξη:

<c:forEach var="" begin=""  end="">
  • Εδώ το var αντιπροσωπεύει το όνομα μεταβλητής που θα περιέχει το όνομα του μετρητή
  • Το Begin αντιπροσωπεύει την τιμή έναρξης του μετρητή
  • Το τέλος θα αντιπροσωπεύει την τελική του τιμή

Παράδειγμα:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Core Tag JSP4</title>
</head>
<body>
<c:forEach var="gurucount" begin="5" end="10">
 <c:out value="${gurucount}"/>
</c:forEach>
</body>
</html>

Επεξήγηση του κώδικα:

Κωδικός Γραμμή 3: Αυτό το πρόθεμα taglib απαιτείται για όλες τις ετικέτες και το πρόθεμα που προστίθεται είναι "c", επομένως μπορεί να χρησιμοποιηθεί ως πρόθεμα για όλες τις ετικέτες

Κωδικός Γραμμή 11-13: Εδώ χρησιμοποιούμε βρόχο "forEach" όπου το όνομα της μεταβλητής είναι "gurucount", το οποίο έχει αρχίσει να μετράει ως 5 και το τέλος ως 10. Εκτυπώνουμε τη μεταβλητή gurucount που έχει αριθμούς που ξεκινούν από το 5 έως το 10.

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

Ετικέτες πυρήνων JSTL - forEach

Παραγωγή:

  • Η έξοδος που παίρνουμε ξεκινά από 5 έως 10.

5. Αν

  • Χρησιμοποιείται για Δοκιμές συνθήκες.
  • Εάν η ετικέτα χρησιμοποιείται για να ελέγξει μια συνθήκη αν είναι αληθής ή όχι με βάση αυτό, το μπλοκ κώδικα θα εκτελεστεί.

Σύνταξη:

<c:if test="${condition}></c:if>

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

Παράδειγμα:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Core Tag JSP5</title>
</head>
<body>
<c:set var="count" value="100"/>
<c:if test="${count == 100}">
   <c:out value="The count is 100"/>
</c:if>
</body>
</html>

Επεξήγηση του κώδικα:

Κωδικός Γραμμή 3: Αυτό το πρόθεμα taglib απαιτείται για όλες τις ετικέτες και το πρόθεμα που προστίθεται είναι "c", επομένως μπορεί να χρησιμοποιηθεί ως πρόθεμα για όλες τις ετικέτες

Κωδικός Γραμμή 11: Εδώ ορίζουμε τη μεταβλητή που ονομάζεται count στο 100

Κωδικός Γραμμή 12-14: Εδώ χρησιμοποιούμε το "αν συνθήκη" όπου ελέγχουμε αν το πλήθος είναι ίσο με 100. Είναι ίσο με 100, τότε παίρνουμε την έξοδο ως "Το πλήθος είναι 100".

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

Ετικέτες πυρήνων JSTL - Εάν

Παραγωγή:

  • Καθώς η συνθήκη «αν» είναι αληθής, παίρνουμε την έξοδο ως «Το πλήθος είναι 100».

6. ανακατεύθυνση

  • Χρησιμοποιείται για την ανακατεύθυνση της τρέχουσας σελίδας σε άλλη διεύθυνση URL παρέχοντας τη σχετική διεύθυνση URL αυτής της ετικέτας.
  • Υποστηρίζει URL που σχετίζονται με το περιβάλλον

Σύνταξη:

<c:redirect url="" context=""/>

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

Παράδειγμα:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Core Tag JSP6</title>
</head>
<body>
<c:redirect url="/"/>
</body>
</html>

Επεξήγηση του κώδικα:

Κωδικός Γραμμή 3: Αυτό το πρόθεμα taglib απαιτείται για όλες τις ετικέτες και το πρόθεμα που προστίθεται είναι "c", επομένως μπορεί να χρησιμοποιηθεί ως πρόθεμα για όλες τις ετικέτες

Κωδικός Γραμμή 11: Εδώ χρησιμοποιούμε την "ετικέτα ανακατεύθυνσης", όπου καθορίζουμε το urlname, και όταν κάνουμε κλικ σε αυτήν τη σελίδα ανακατευθύνεται στον ιστότοπο που έχει δοθεί για ανακατεύθυνση.

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

Ετικέτες JSTL Core - Ανακατεύθυνση

Παραγωγή:

  • Λαμβάνουμε το url εξόδου guru99.com το οποίο ανακατευθύνεται από το coretag_jsp6.jsp

Προσαρμοσμένες ετικέτες JSTL

  • Είναι ένα καθορισμένο από το χρήστη JSP γλωσσικό στοιχείο.
  • Όταν το JSP μεταφράζεται σε servlet, η προσαρμοσμένη ετικέτα μετατρέπεται σε μια κλάση που αναλαμβάνει δράση σε ένα αντικείμενο και καλείται ως χειριστής ετικετών.
  • Αυτές οι ενέργειες κατά την εκτέλεση του servlet καλούνται από το κοντέινερ Ιστού.
  • Για να δημιουργήσουμε την προσαρμοσμένη ετικέτα που ορίζεται από το χρήστη, πρέπει να δημιουργήσουμε τον χειριστή ετικετών που θα επεκτείνει το SimpleTagSupport και θα πρέπει να παρακάμψει τη μέθοδο doTag().
  • Πρέπει να δημιουργήσουμε TLD όπου πρέπει να αντιστοιχίσουμε το αρχείο κλάσης στο TLD.

Πλεονεκτήματα των προσαρμοσμένων ετικετών στο JSP

Ακολουθούν τα πλεονεκτήματα των προσαρμοσμένων ετικετών στο JSP:

  • Φορητός: Μια ενέργεια που περιγράφεται σε μια βιβλιοθήκη ετικετών πρέπει να μπορεί να χρησιμοποιηθεί σε οποιοδήποτε κοντέινερ JSP.
  • απλό: Οι μη εξειδικευμένοι χρήστες πρέπει να είναι σε θέση να κατανοήσουν και να χρησιμοποιήσουν αυτόν τον μηχανισμό. Οι προμηθευτές λειτουργιών JSP πρέπει να είναι εύκολο να το κάνουν διαθέσιμο στους χρήστες ως ενέργειες.
  • Εκφραστικός: Ο μηχανισμός πρέπει να υποστηρίζει ένα ευρύ φάσμα ενεργειών, συμπεριλαμβανομένων ένθετων ενεργειών, στοιχείων σεναρίου μέσα σε σώματα ενεργειών, δημιουργία, χρήση και ενημέρωση μεταβλητών δέσμης ενεργειών.
  • Μπορεί να χρησιμοποιηθεί από διαφορετικές γλώσσες σεναρίου: Αν και η προδιαγραφή JSP επί του παρόντος ορίζει μόνο τη σημασιολογία για τα σενάρια στο Java γλώσσα προγραμματισμού, θέλουμε να αφήσουμε ανοιχτή τη δυνατότητα και άλλων γλωσσών scripting.
  • Βασισμένο σε υπάρχουσες ιδέες και μηχανήματα: Δεν θέλουμε να επανεφεύρουμε ό,τι υπάρχει αλλού. Επίσης, θέλουμε να αποφύγουμε μελλοντικές συγκρούσεις όποτε μπορούμε να τις προβλέψουμε

Σύνταξη:

Σκεφτείτε ότι δημιουργούμε ετικέτα testGuru και μπορούμε να χρησιμοποιήσουμε την κλάσηtaghandlertestTag, η οποία θα παρακάμψει τη μέθοδο doTag().

<ex:testGuru/>
Class testTag extends SimpleTagSupport{ public void doTag()}

Επίσης, θα πρέπει να αντιστοιχίσουμε αυτήν την κλάση testTag στο TLD (Βιβλιοθήκη ετικετών Descriptή) ως κοντέινερ JSP θα δημιουργήσει αυτόματα μια αντιστοίχιση μεταξύ του αρχείου κλάσης και του uri που έχει αναφερθεί στο αρχείο TLD.

Διεπαφή ετικετών JSP

  • Αυτή η τάξη θα πρέπει να επεκτείνει την τάξη SimpleTagSupport.
  • Αυτή η κλάση θα πρέπει να παρακάμψει τη μέθοδο doTag() που είναι μέρος της κλάσης SimpleTagSupport (η παράκαμψη είναι μια μέθοδος που κληρονομείται από την γονική κλάση).
  • Αυτή η διεπαφή είναι μια υποδιεπαφή της διεπαφής JSPTag.
  • Παρέχει μεθόδους εκτέλεσης στην αρχή και στο τέλος της ετικέτας.
  • Επίσης, πρέπει να αντιστοιχίσουμε αυτήν την κλάση στον περιγραφέα TLD, π.χ. Βιβλιοθήκη ετικετών

Εξετάζουμε στο παρακάτω παράδειγμα

Μέθοδος διεπαφής ετικετών

  • Η doTag() είναι μια μέθοδος που πρέπει να παρακάμψουμε και η οποία θα έχει τα περιεχόμενα για την ετικέτα.
  • Παίρνει το τρέχον περιβάλλον JSP χρησιμοποιώντας το getJSPContext()

Παράδειγμα:

Customtag_jsp1.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="ex" uri="WEB-INF/custom.tld"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Custom Tag</title>
</head>
<body>
<ex:guruTag/>
</body>
</html>

Custom.tld

<taglib>
  <tlib-version>1.0</tlib-version>
  <jsp-version>2.0</jsp-version>
  <short-name>Test TLD</short-name>
  <tag>
    <name>guruTag</name>
    <tag-class>demotest.guruTag</tag-class>
    <body-content>empty</body-content>
  </tag>
</taglib>

guruTag.java(TagHandler)

package demotest;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;

public class guruTag extends SimpleTagSupport{
	public void doTag() throws JspException,IOException
	{
		JspWriter out = getJspContext().getOut();
		out.println("Guru Tag");
	}

}

Επεξήγηση του κώδικα:

guruTag.java(TagHandler)

Κωδικός Γραμμή 6:Η κλάση guruTag επεκτείνει την κλάση SimpleTagSupport που υπάρχει στο jar javax.servlet.JSP

Κωδικός Γραμμή 7: Εδώ παρακάμπτουμε τη μέθοδο doTag() που ρίχνει το JspException και το IOException.

Κωδικός Γραμμή 9-10: Σε αυτή τη μέθοδο, ο κώδικας θα ενσωματωθεί σε προσαρμοσμένη ετικέτα που θα κληθεί. Παίρνουμε ένα αντικείμενο του JspWriter και αυτό θα εκτυπώσει την "Ετικέτα Guru".

Custom.tld

Κωδικός Γραμμή 6: Εδώ το όνομα της προσαρμοσμένης ετικέτας είναι "guruTag".

Κωδικός Γραμμή 7:Η κλάση ετικετών είναι taghandlerclass, δηλαδή guruTag.java. Παίρνει την πλήρη διαδρομή του αρχείου χειριστή που περιλαμβάνει τη διαδρομή καταλόγου της θέσης του αρχείου.

Customtag_jsp1.jsp

Κωδικός Γραμμή 3:Αυτό το πρόθεμα taglib απαιτείται για όλες τις ετικέτες και το πρόθεμα που προστίθεται είναι "ex", επομένως μπορεί να χρησιμοποιηθεί ως πρόθεμα για όλες τις coreag και το uri είναι custom.tld που αντιστοιχίζει τον χειριστή ετικετών.

Κωδικός Γραμμή 11: Εδώ ορίζουμε την προσαρμοσμένη ετικέτα "guruTag", η οποία θα καλέσει τη μέθοδο handler class doTag() και ο κώδικας μέσα σε αυτήν θα εκτελεστεί.

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

Διεπαφή ετικετών JSP

Παραγωγή:

  • Λαμβάνουμε την έξοδο ως "GuruTag" από το guruTag.java, δηλαδή το TagHandler, το οποίο αντικαθιστά τη μέθοδο doTag() και το οποίο εκτυπώνει το "Guru Tag" ως έξοδο.

Σύνοψη

  • Σε αυτήν την ενότητα, μάθαμε για τη βιβλιοθήκη τυπικών ετικετών JSP στην οποία κάναμε βασικές ετικέτες και προσαρμοσμένες ετικέτες.
  • Οι βασικές ετικέτες περιλαμβάνουν για, εάν, ανακατεύθυνση, εισαγωγή, ετικέτες catch που ήταν ετικέτες που χρησιμοποιήθηκαν για βασικούς σκοπούς στο JSP.
  • Επίσης, κάναμε προσαρμοσμένες ετικέτες όπου μπορούμε να ορίσουμε τις ετικέτες και να τις χρησιμοποιήσουμε στο JSP