Ετικέτες δράσης JSP
⚡ Έξυπνη Σύνοψη
Οι ετικέτες δράσης JSP χρησιμοποιούν σύνταξη XML για τον έλεγχο της συμπεριφοράς της μηχανής servlet, επιτρέποντας στους προγραμματιστές να συμπεριλαμβάνουν αρχεία, να προωθούν αιτήματα, να εργάζονται με JavaBeans και ενσωμάτωση δυναμικού περιεχομένου κατά την επεξεργασία αιτημάτων.

Τι είναι μια ετικέτα δράσης JSP;
Οι ετικέτες δράσης JSP χρησιμοποιούν δομές σύνταξης XML για τον έλεγχο της συμπεριφοράς της μηχανής servlet. Οι προγραμματιστές μπορούν να εισάγουν δυναμικά ένα αρχείο, να το επαναχρησιμοποιήσουν. JavaΤα στοιχεία Bean, προωθούν τον χρήστη σε άλλη σελίδα και εκτελούν παρόμοιες λειτουργίες χρόνου εκτέλεσης μέσω των ετικετών δράσης JSP, όπως include και forward. Σε αντίθεση με τις οδηγίες, οι ετικέτες δράσης επαναξιολογούνται κάθε φορά που γίνεται πρόσβαση στη σελίδα, γεγονός που τις καθιστά ιδανικές για δυναμική συμπεριφορά κατά την επεξεργασία αιτημάτων.
Σύνταξη:
<jsp:action_name attribute="value" />
Σε αυτό το σεμινάριο σχετικά με τις τυπικές ετικέτες δράσης JSP, θα μάθετε πώς λειτουργεί κάθε ετικέτα δράσης, τι κάνει και πώς να την εφαρμόσετε σε ένα πραγματικό αρχείο JSP.
Λίστα με τις Ετικέτες Ενέργειας που Χρησιμοποιούνται Συνήθως στο JSP
Υπάρχουν 11 τύποι τυπικών ετικετών ενεργειών στο JSP και εδώ είναι η πλήρης λίστα τους.
| Όνομα ετικέτας δράσης | Σύνταξη | Περιγραφή |
|---|---|---|
| jsp:useBean | Χρησιμοποιείται για την επίκληση και τη χρήση φασολιών στη σελίδα JSP. | |
| jsp:include | <jsp:include page=”page URL"flush="αληθές/ψευδές" /> | Περιλαμβάνει ένα άλλο αρχείο JSP στο τρέχον αρχείο κατά την επεξεργασία αιτήματος. |
| jsp:setProperty | Ορίζει την ιδιότητα ενός φασολιού. | |
| jsp:getProperty | Ανακτά την ιδιότητα ενός φασολιού και τη μετατρέπει σε συμβολοσειρά για έξοδο. | |
| jsp: εμπρός | Προωθεί το αίτημα σε άλλη JSP ή στατική σελίδα. | |
| jsp:πρόσθετο | Εισάγει Java στοιχεία όπως μικροεφαρμογές ή φασόλια στο JSP και δημιουργεί αυτόματα ετικέτες. | |
| jsp:body | Ορίζει στοιχεία XML που δημιουργούνται δυναμικά κατά την επεξεργασία αιτημάτων. | |
| jsp:text | κείμενο προτύπου | Χρησιμοποιείται για την εισαγωγή κειμένου προτύπου σε σελίδες JSP, που περιέχουν μόνο κείμενο και εκφράσεις EL. |
| jsp:param | Μεταβιβάζει παραμέτρους εντός της ενέργειας jsp:plugin για προσθήκη επιπλέον δεδομένων. | |
| jsp:ιδιότητα | Ορίζει χαρακτηριστικά XML που δημιουργούνται δυναμικά. | |
| jsp:output | Καθορίζει τη δήλωση XML ή DOCTYPE που θα χρησιμοποιηθεί στην έξοδο. |
Τώρα που έχετε την πλήρη λίστα, θα εξερευνήσουμε καθεμία από αυτές τις ετικέτες δράσης JSP μία προς μία με σύνταξη και ένα λειτουργικό παράδειγμα.
Ετικέτα ενέργειας jsp:useBean
- Αυτό το όνομα ενέργειας χρησιμοποιείται όταν θέλετε να χρησιμοποιήσετε JavaΦασόλια στη σελίδα JSP.
- Με αυτήν την ετικέτα, μπορείτε εύκολα να καλέσετε ένα bean και να επαναχρησιμοποιήσετε στοιχεία από την πλευρά του διακομιστή.
Σύνταξη του jsp:useBean:
<jsp:useBean id="" class="" />
Εδώ το id καθορίζει το αναγνωριστικό για αυτό το bean και η κλάση είναι η πλήρης διαδρομή της κλάσης bean.
Παράδειγμα:
<%@ 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>Action JSP1</title> </head> <body> <jsp:useBean id="name" class="demotest.DemoClass"> </body> </html>
Επεξήγηση του κώδικα:
Code Γραμμή 10: Στον παραπάνω κώδικα, χρησιμοποιείτε το "bean id" και τη "class path" του bean.
jsp:include Ετικέτα ενέργειας
- Το jsp:include χρησιμοποιείται για την εισαγωγή ενός αρχείου JSP σε ένα άλλο αρχείο κατά την επεξεργασία αιτήματος, παρόμοια με την εισαγωγή. Οδηγιών.
- Προστίθεται κατά τη φάση επεξεργασίας του αιτήματος, πράγμα που σημαίνει ότι το περιεχόμενο που περιλαμβάνεται αξιολογείται κάθε φορά που ζητείται η σελίδα.
Σύνταξη του jsp:include:
<jsp:include page="page URL" flush="true/false">
Παράδειγμα:
Σε δράση_jsp2 (Code Γραμμή 10), συμπεριλαμβάνουμε ένα αρχείο date.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>Date Guru JSP</title> </head> <body> <jsp:include page="date.jsp" flush="true" /> </body> </html>
Ημερομηνία.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> <p> Today's date: <%= new java.util.Date().toLocaleString()%> </p> </body> </html>
Επεξήγηση του κώδικα:
Action_jsp2.jsp
Code Γραμμή 10: Στο πρώτο αρχείο, συμπεριλαμβάνουμε το αρχείο date.jsp στο action_jsp2.jsp.
Date.jsp:
Code Γραμμή 11: Εκτυπώνουμε τη σημερινή ημερομηνία στη γραμμή κώδικα 11 στο αρχείο date.jsp.
Όταν εκτελείτε τον κώδικα, η έξοδος είναι η ακόλουθη.
Παραγωγή:
- Εμφανίζει την σημερινή ημερομηνία με την ώρα, καθώς το αρχείο ημερομηνίας περιλαμβάνεται στην κύρια σελίδα JSP.
Ετικέτα ενέργειας jsp:setProperty
- Αυτή η τυπική ενέργεια στο JSP χρησιμοποιείται για τον ορισμό της ιδιότητας του bean.
- Πρέπει να ορίσετε ένα bean πριν ορίσετε την ιδιότητα.
Σύνταξη:
<jsp:setProperty name="" property="" >
Εδώ, το όνομα ορίζει το bean του οποίου η ιδιότητα έχει οριστεί και το property είναι η ιδιότητα που θέλετε να ορίσετε. Μπορείτε επίσης να ορίσετε τα χαρακτηριστικά value και param. Εδώ το value δεν είναι υποχρεωτικό και ορίζει την τιμή που έχει αντιστοιχιστεί στην ιδιότητα. Εδώ το param είναι το όνομα της παραμέτρου αιτήματος με την οποία μπορεί να ανακτηθεί η τιμή. Το παράδειγμα του setProperty θα παρουσιαστεί παρακάτω με το getProperty.
Ετικέτα ενέργειας jsp:getProperty
- Αυτή η ενέργεια χρησιμοποιείται για να αποκτηθεί η ιδιότητα του φασολιού.
- Μετατρέπει την ιδιότητα σε μια συμβολοσειρά και τελικά την εισάγει στην έξοδο.
Σύνταξη:
<jsp:getProperty name="" property="" >
Εδώ, το όνομα είναι το bean από το οποίο πρέπει να ανακτηθεί η ιδιότητα και το bean πρέπει να οριστεί. Το χαρακτηριστικό ιδιότητας είναι το όνομα της ιδιότητας bean που θα ανακτηθεί.
Παράδειγμα setProperty και getProperty:
TestBean.java:
package demotest; import java.io.Serializable; public class TestBean implements Serializable{ private String msg = "null"; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
Action_jsp3.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>Guru Action 3</title> </head> <body> <jsp:useBean id="GuruTest" class="demotest.TestBean" /> <jsp:setProperty name="GuruTest" property="msg" value="GuruTutorial" /> <jsp:getProperty name="GuruTest" property="msg" /> </body> </html>
Επεξήγηση του κώδικα:
TestBean.java:
Code Γραμμή 5Το TestBean υλοποιεί την κλάση Serializable. Είναι μια κλάση bean με getters και setters στον κώδικα.
Code Γραμμή 7Εδώ λαμβάνουμε την ιδιωτική μεταβλητή συμβολοσειράς msg ως "null".
Code Γραμμή 9-14Εδώ χρησιμοποιούμε getters και setters της μεταβλητής "msg".
Action_jsp3.jsp
Code Γραμμή 10: Εδώ χρησιμοποιούμε την ετικέτα "useBean", όπου καθορίζει το bean (TestBean) που πρέπει να χρησιμοποιηθεί σε αυτήν την κλάση JSP.
Code Γραμμή 11: Εδώ ορίζουμε την τιμή για την ιδιότητα msg για το bean TestBean ως "GuruΦροντιστήριο".
Code Γραμμή 12: Εδώ, χρησιμοποιώντας την getProperty, λαμβάνουμε την τιμή της ιδιότητας msg για το bean TestBean (GuruTutorial), το οποίο εμφανίζεται στην έξοδο.
Όταν εκτελείτε τον παραπάνω κώδικα, λαμβάνετε την ακόλουθη έξοδο:
Παραγωγή:
Σε αυτό το παράδειγμα, χρησιμοποιώντας το TestBean, ορίζουμε την ιδιότητα "msg" χρησιμοποιώντας την setProperty και λαμβάνουμε την τιμή της ιδιότητας χρησιμοποιώντας την getProperty ως "GuruΦροντιστήριο".
jsp:forward Ετικέτα ενέργειας
Η ετικέτα δράσης jsp:forward χρησιμοποιείται για την προώθηση του αιτήματος σε άλλο JSP ή σε οποιαδήποτε στατική σελίδα.
Εδώ το αίτημα μπορεί να προωθηθεί χωρίς παραμέτρους ή με παραμέτρους.
Σύνταξη:
<jsp:forward page="value">
Εδώ η τιμή αντιπροσωπεύει πού πρέπει να προωθηθεί το αίτημα.
Παράδειγμα:
Action_jsp41.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>Guru Action JSP1</title> </head> <body> <jsp:forward page="jsp_action_42.jsp" /> </body> </html>
Jsp_action_42.jsp
Guru Action JSP2</title> </head> <body> <a>This is after forward page</a> </body> </html>
Επεξήγηση του κώδικα:
Action_jsp41.jsp
Code Γραμμή 10: Εδώ χρησιμοποιούμε την ενέργεια προώθησης JSP για να προωθήσουμε το αίτημα στη σελίδα που αναφέρεται στο χαρακτηριστικό, δηλαδή, jsp_action_42.jsp.
Jsp_action_42.jsp
Code Γραμμή 10: Μόλις καλέσουμε την εντολή action_jsp41.jsp, το αίτημα προωθείται σε αυτήν τη σελίδα και λαμβάνουμε την έξοδο ως "Αυτό είναι μετά τη σελίδα προώθησης".
Όταν εκτελούμε τον παραπάνω κώδικα, λαμβάνουμε την ακόλουθη έξοδο.
Παραγωγή:
Καλούμε το action_jsp41.jsp, αλλά το αίτημα προωθείται στο jsp_action_42.jsp και λαμβάνουμε την έξοδο από αυτήν τη σελίδα ως "Αυτό είναι μετά τη σελίδα προώθησης".
jsp:plugin Ετικέτα ενέργειας
- Χρησιμοποιείται για την εισαγωγή Java στοιχεία σε JSP, όπου το Java Τα στοιχεία μπορούν να είναι είτε ένα applet είτε ένα bean.
- Εντοπίζει το πρόγραμμα περιήγησης και προσθέτει ή ετικέτες στο αρχείο.
Σύνταξη:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Εδώ ο τύπος καθορίζει είτε ένα αντικείμενο είτε ένα bean.
- Code Καθορίζει το όνομα της κλάσης του applet ή του bean.
- Codeη βάση περιέχει τη βάση URL που περιέχει αρχεία κλάσεων.
jsp:param Ετικέτα ενέργειας
- Αυτό είναι ένα θυγατρικό αντικείμενο του αντικειμένου plugin που περιγράφεται παραπάνω.
- Πρέπει να περιέχει μία ή περισσότερες ενέργειες για την παροχή πρόσθετων παραμέτρων.
Σύνταξη:
<jsp:params> <jsp:param name="val" value="val"/ > </jsp:params>
Παράδειγμα πρόσθετου και παραμέτρου:
Action_jsp5.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>Action guru jsp5</title> </head> <body> <jsp:plugin type="bean" code="Student.class" codebase="demotest.Student"> <jsp:params> <jsp:param name="id" value="5" /> <jsp:param name="name" value="guru" /> </jsp:params> </jsp:plugin> </body> </html>
Μαθητής.java
package demotest; import java.io.Serializable; public class Student implements Serializable { public String getName () { return name; } public void setName (String name) { this.name = name; } public int getId() { return id; } public void setId (int id) { this.id = id; } private String name = "null"; private int id = 0; }
Επεξήγηση του κώδικα:
Action_jsp5.jsp
Code Γραμμή 10: Εδώ χρησιμοποιούμε το αντικείμενο jsp:plugin όπου λαμβάνουμε τρία χαρακτηριστικά.
- Τύπος – σε αυτήν την περίπτωση είναι φασόλι.
- Code – όνομα του αρχείου.
- Codeβάση – διαδρομή με το όνομα του πακέτου.
Code Γραμμή 11-14: Εδώ παίρνουμε το αντικείμενο jsp:params, κάτω από το οποίο υπάρχει ένα θυγατρικό αντικείμενο param με τα χαρακτηριστικά name και value, και ορίζουμε τις τιμές id και name σε αυτά τα χαρακτηριστικά.
Μαθητής.java
Code 7-17: Χρησιμοποιούμε getters και setters για τις μεταβλητές id και name.
Code 19-20: Αρχικοποιούμε τις μεταβλητές id και name.
Εδώ θα λάβουμε έξοδο στην περίπτωση που οι καθορισμένες τιμές της παραμέτρου θα χρησιμοποιηθούν στο Student bean. Σε αυτήν την περίπτωση, δεν θα έχουμε καμία έξοδο, καθώς απλώς ορίζουμε και λαμβάνουμε τιμές της παραμέτρου, αλλά δεν την εκτυπώνουμε πουθενά.
jsp:body Action Tag
- Αυτή η ετικέτα χρησιμοποιείται για τον δυναμικό ορισμό της XML, όπου η Στοιχεία μπορεί να δημιουργηθεί κατά τη διάρκεια του αιτήματος και όχι κατά τη διάρκεια της μεταγλώττισης.
- Ορίζει την XML, η οποία δημιουργείται δυναμικά ως ένα σώμα στοιχείων.
Σύνταξη:
<jsp:body></jsp:body>
Εδώ γράφουμε την ετικέτα σώματος XML μέσα σε αυτές τις ετικέτες.
Ετικέτα ενέργειας jsp:attribute
- Αυτή η ετικέτα χρησιμοποιείται για τον δυναμικό ορισμό της XML, όπου τα στοιχεία μπορούν να δημιουργηθούν κατά τη διάρκεια του χρόνου αιτήματος και όχι κατά τη διάρκεια του χρόνου μεταγλώττισης.
- Ορίζει το χαρακτηριστικό της XML που θα δημιουργηθεί δυναμικά.
Σύνταξη:
<jsp:attribute></jsp:attribute>
Εδώ γράφουμε την ετικέτα χαρακτηριστικού της XML.
Παράδειγμα σώματος και χαρακτηριστικού:
Action_jsp6.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>Action Guru JSP6</title> </head> <body> <jsp:element name="GuruXMLElement"> <jsp:attribute name="GuruXMLattribute"> Value </jsp:attribute> <jsp:body>Guru XML</jsp:body> </jsp:element> </body> </html>
Επεξήγηση του κώδικα:
Code Γραμμή 10: Εδώ ορίζουμε ένα στοιχείο, το οποίο δημιουργείται δυναμικά ως XML, και το όνομά του θα είναι GuruΣτοιχείο XML.
Code Γραμμή 11-13: Εδώ ορίζουμε ένα χαρακτηριστικό, το οποίο θα είναι ένα χαρακτηριστικό XML της δυναμικά δημιουργημένης XML.
Code Γραμμή 14: Εδώ έχουμε την ενέργεια body, όπου γράφουμε το σώμα XML, το οποίο θα δημιουργηθεί δυναμικά.
Όταν εκτελείτε τον παραπάνω κώδικα, λαμβάνετε την ακόλουθη έξοδο:
Παραγωγή:
Εδώ λαμβάνουμε την έξοδο από την ετικέτα body της δημιουργημένης XML.
Ετικέτα ενέργειας jsp:text
- Χρησιμοποιείται για την εισαγωγή κειμένου προτύπου σε σελίδες JSP.
- Το σώμα του δεν περιέχει άλλα στοιχεία και περιέχει μόνο κείμενο και εκφράσεις EL.
Σύνταξη:
<jsp:text>template text</jsp:text>
Εδώ, το κείμενο προτύπου αναφέρεται μόνο στο κείμενο προτύπου (το οποίο μπορεί να είναι οποιοδήποτε γενικό κείμενο που πρέπει να εκτυπωθεί σε JSP) ή οποιοδήποτε έκφραση EL.
Παράδειγμα:
Action_jsp7.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>Guru Action JSP7</title> </head> <body> <jsp:text>Guru Template Text</jsp:text> </body> </html>
Επεξήγηση του κώδικα:
Code Γραμμή 10: Εδώ παίρνουμε το αντικείμενο κειμένου για να εκτυπώσουμε το κείμενο του προτύπου.
Όταν εκτελείτε τον παραπάνω κώδικα, λαμβάνετε την ακόλουθη έξοδο.
Παραγωγή:
Παίρνουμε Guru Κείμενο προτύπου, το οποίο τοποθετείται μέσα στο αντικείμενο ενέργειας κειμένου.
Ετικέτα ενέργειας jsp:output
- Καθορίζει τη δήλωση XML ή τη δήλωση DOCTYPE του JSP.
- Η δήλωση XML και το DOCTYPE δηλώνονται από την έξοδο.
Σύνταξη:
<jsp:output doctype-root-element="" doctype-system="">
Εδώ, το στοιχείο doctype-root-element υποδεικνύει το ριζικό στοιχείο του εγγράφου XML στο DOCTYPE. Το doctype-system υποδεικνύει τον τύπο doctype που δημιουργείται στην έξοδο και δίνει μια κυριολεκτική τιμή συστήματος.
Παράδειγμα:
<%@ 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>Action Guru JSP8</title> </head> <body> <jsp:output doctype-root-element="html PUBLIC" doctype-system="http://www.w3.org/TR/html4/loose.dtd"/> </body> </html>
Επεξήγηση του κώδικα:
Code Γραμμή 10: Εδώ χρησιμοποιούμε το αντικείμενο ενέργειας εξόδου για να δημιουργήσουμε ένα DOCTYPE και εσωτερικά θα δημιουργηθεί σε αυτήν τη μορφή:
Δεν θα υπάρχει καμία ορατή έξοδος για αυτό, καθώς θα δημιουργηθεί εσωτερικά.





