Εκμάθηση γλώσσας έκφρασης JSP (EL)

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

Anonim

Τι είναι η γλώσσα έκφρασης (EL);

Η γλώσσα έκφρασης (EL) είναι ένας μηχανισμός που απλοποιεί την προσβασιμότητα των δεδομένων που είναι αποθηκευμένα στο στοιχείο Java bean και σε άλλα αντικείμενα όπως αίτημα, συνεδρία και εφαρμογή κ.λπ. Υπάρχουν πολλοί τελεστές στο JSP που χρησιμοποιούνται σε EL όπως αριθμητικοί και λογικοί τελεστές για να εκτελέσουν έκφραση. Παρουσιάστηκε στο JSP 2.0

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

  • Σύνταξη JSP Γλώσσας Έκφρασης (EL)
  • JSP Εάν-αλλιώς
  • Διακόπτης JSP
  • JSP Για βρόχο
  • JSP While loop
  • Χειριστές JSP

Σύνταξη JSP Γλώσσας Έκφρασης (EL)

Σύνταξη EL : $ (έκφραση)

  • Στο JSP, ό, τι υπάρχει στα τιράντες αξιολογείται κατά το χρόνο εκτέλεσης που αποστέλλεται στη ροή εξόδου.
  • Η έκφραση είναι μια έγκυρη έκφραση EL και μπορεί να αναμιχθεί με ένα στατικό κείμενο και μπορεί να συνδυαστεί με άλλη έκφραση για να σχηματίσει μεγαλύτερη έκφραση.

Για να πάρετε μια καλύτερη ιδέα, για το πώς λειτουργεί η έκφραση στο JSP, θα δούμε παρακάτω το παράδειγμα.

Σε αυτό το παράδειγμα, θα δούμε πώς το EL χρησιμοποιείται ως χειριστής για να προσθέσει δύο αριθμούς (1 + 2) και να πάρει την έξοδο αντίστοιχα.

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><κεφάλι>> Guru JSP1 <άτομο> Η έκφραση είναι: {1 + 2} $;

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

  • Γραμμή κώδικα 11: Η γλώσσα έκφρασης (EL) ορίζεται όπου προσθέτουμε δύο αριθμούς 1 + 2, επομένως θα δώσει έξοδο ως 3.

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

Έξοδος :

  • Η έκφραση είναι: 3 (Καθώς οι αριθμοί 1 + 2 θα προστεθούν και θα χρησιμεύσουν ως έξοδος)

Δηλώσεις ελέγχου ροής:

Το JSP παρέχει τη δύναμη της Java για ενσωμάτωση στην εφαρμογή. Μπορούμε να χρησιμοποιήσουμε όλα τα API και τα δομικά στοιχεία της Java στον προγραμματισμό JSP, συμπεριλαμβανομένων των δηλώσεων ροής ελέγχου που περιλαμβάνουν τη λήψη αποφάσεων και τις δηλώσεις βρόχου.

Υπάρχουν δύο τύποι δηλώσεων ελέγχου ροής που περιγράφονται παρακάτω.

  1. Δηλώσεις λήψης αποφάσεων
  2. Δηλώσεις βρόχου

Δηλώσεις λήψης αποφάσεων:

Η δήλωση λήψης αποφάσεων στο JSP βασίζεται στο εάν το σύνολο συνθηκών είναι αληθές ή ψευδές. Η δήλωση θα συμπεριφέρεται ανάλογα.

Υπάρχουν δύο τύποι δηλώσεων λήψης αποφάσεων που περιγράφονται παρακάτω:

  1. Εάν - αλλιώς
  2. διακόπτης

JSP Εάν-αλλιώς

Η δήλωση "If else" είναι βασική όλων των δηλώσεων ροής ελέγχου και λέει στο πρόγραμμα να εκτελέσει το συγκεκριμένο τμήμα του κώδικα μόνο εάν η συγκεκριμένη δοκιμή αξιολογηθεί ως αληθής.

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

  • Εάν η πρώτη συνθήκη είναι αληθής τότε εκτελείται το "if block" και
  • εάν είναι ψευδές τότε εκτελείται το "else block"

Σύνταξη για δήλωση if - else :

If(test condition){//Block of statements}else{//Block of statements}

Σε αυτό το παράδειγμα,

Θα δοκιμάσουμε την κατάσταση "if else" λαμβάνοντας μεταβλητή και ελέγχοντας την τιμή εάν η μεταβλητή ταιριάζει με αυτό που έχει αρχικοποιηθεί

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><κεφάλι>> Guru JSP2 <άτομο><%! int μήνα = 5; %><% if (μήνας == 2) {%> Το Φεβρουάριο του <%} αλλιώς {%> Οποιοσδήποτε μήνας εκτός του Φεβρουαρίου <%}%>

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

  • Γραμμή κώδικα 10: Η μεταβλητή με όνομα αρχικοποιείται σε 5 στις ετικέτες έκφρασης
  • Γραμμή κώδικα 11: Στις ετικέτες EL υπάρχει "if condition" που δηλώνει ότι εάν ο μήνας είναι ίσος 2 (η συνθήκη δοκιμάζεται εδώ ως αληθής ή ψευδής)
  • Γραμμή κώδικα 12: Εάν η συνθήκη είναι αληθής που είναι ο μεταβλητός μήνας είναι 2, τότε θα εκτυπωθεί στη ροή εξόδου
  • Γραμμή κώδικα 13-15: Εάν τα παραπάνω, εάν η συνθήκη αποτύχει, θα μετακινηθεί σε άλλο μέρος για όλες τις άλλες περιπτώσεις όπου η δήλωση θα εκτυπωθεί στη ροή εξόδου και η συνθήκη είναι κλειστή

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

Παραγωγή:

  • Από τον μήνα που έχουμε είναι 5 που δεν ισούται με το # 2 (Φεβρουάριος). Ως εκ τούτου, έχουμε την έξοδο "Οποιοσδήποτε άλλος μήνας εκτός Φεβρουαρίου" (ο μήνας αναφέρεται ως 5, επομένως άλλοι εκτελούνται)

Διακόπτης JSP

Το σώμα της δήλωσης διακόπτη ονομάζεται "μπλοκ διακόπτη".

  • Η θήκη διακόπτη χρησιμοποιείται για τον έλεγχο του αριθμού πιθανών διαδρομών εκτέλεσης.
  • Ένας διακόπτης μπορεί να χρησιμοποιηθεί με όλους τους τύπους δεδομένων
  • Οι δηλώσεις διακόπτη περιέχουν περισσότερες από μία περιπτώσεις και μία προεπιλεγμένη περίπτωση
  • Αξιολογεί την έκφραση και εκτελεί όλες τις δηλώσεις μετά την αντίστοιχη περίπτωση

Σύνταξη για δήλωση διακόπτη :

switch (operator){Case 1:Block of statementsbreak;Case 2:Block of statementsbreak;case n:Block of statementsbreak;default:Block of statementsbreak;}
  • Ο διακόπτης μπλοκ ξεκινά με μία παράμετρο, που είναι ο τελεστής που πρέπει να περάσει και
  • Στη συνέχεια, υπάρχουν διαφορετικές περιπτώσεις που παρέχουν συνθήκη και όποια αντιστοιχεί με τον χειριστή που εκτελείται η υπόθεση.

Στο παρακάτω παράδειγμα,

Έχουμε ορίσει μια μεταβλητή εβδομάδα και ταιριάζει με την περίπτωση που είναι αλήθεια. Σε αυτήν την περίπτωση, η εβδομάδα είναι 2, επομένως η περίπτωση αντιστοιχεί και η έξοδος είναι Τρίτη:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><κεφάλι>> Guru JSP3 <άτομο><%! int εβδομάδα = 2; %><% διακόπτης (εβδομάδα) {υπόθεση 0:out.println ("Κυριακή");Διακοπή;περίπτωση 1:out.println ("Δευτέρα");Διακοπή;περίπτωση 2:out.println ("Τρίτη");Διακοπή;υπόθεση 3:out.println ("Τετάρτη");Διακοπή;υπόθεση 4:out.println ("Πέμπτη") ·Διακοπή;περίπτωση 5:out.println ("Παρασκευή");Διακοπή;Προκαθορισμένο:out.println ("Σάββατο")}%>

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

  • Γραμμή κώδικα 10: Η μεταβλητή με την ονομασία εβδομάδα αρχικοποιείται σε 2 στις ετικέτες έκφρασης
  • Γραμμή κώδικα 11: Στις ετικέτες EL ξεκινά η θήκη διακόπτη όπου η εβδομάδα περνά ως παράμετρος
  • Γραμμή κώδικα 12 - 29: Όλες οι περιπτώσεις έχουν αναφερθεί από την περίπτωση 0 έως την περίπτωση 5 όπου η τιμή της παραμέτρου εβδομάδας ταιριάζει με τις θήκες, και κατά συνέπεια η έξοδος είναι εκτυπωμένη. Σε αυτήν την περίπτωση, η τιμή είναι 2, επομένως η περίπτωση 2 θα εκτελεστεί σε αυτήν την περίπτωση. Εδώ "out" είναι η κλάση JSP που γράφει τη ροή εξόδου για παραγόμενη απόκριση και το "println" είναι μια μέθοδος αυτής της κλάσης.
  • Κωδικός Γραμμής 30-32: Εάν οι παραπάνω περιπτώσεις αποτύχουν τότε θα μετακινηθεί στο προεπιλεγμένο τμήμα και θα εκτελεστεί, όπου η δήλωση θα εκτυπωθεί στη ροή εξόδου και η κατάσταση είναι κλειστή

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

Παραγωγή:

  • Η έξοδος σε αυτήν την περίπτωση είναι Τρίτη καθώς καλείται η 2η περίπτωση.

Δηλώσεις βρόχου

JSP Για βρόχο

Χρησιμοποιείται για την επανάληψη των στοιχείων για μια συγκεκριμένη κατάσταση και έχει τρεις παραμέτρους.

  • Ο μεταβλητός μετρητής προετοιμάζεται
  • Κατάσταση έως το βρόχο πρέπει να εκτελεστεί
  • Ο μετρητής πρέπει να αυξηθεί

Για σύνταξη βρόχου:

For(inti=0;i

Σε αυτό το παράδειγμα,

Έχουμε για βρόχο που επαναλαμβάνει έως ότου ο μετρητής είναι μικρότερος από τον δεδομένο αριθμό:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><κεφάλι>> Guru JSP4 <άτομο><%! int num = 5; %><% out.println ("Οι αριθμοί είναι:");για (int i = 0; i 

Επεξήγηση για τον κωδικό:

  • Γραμμή κώδικα 10: Η μεταβλητή που ονομάζεται "num" αρχικοποιείται σε 5 στις ετικέτες έκφρασης
  • Γραμμή κώδικα 11-14: Στις ετικέτες EL, το "out" είναι η κλάση του JSP και το "println" είναι η μέθοδος από την οποία εκτυπώνονται στη ροή εξόδου και για το βρόχο εκκίνησης που έχει τρεις παραμέτρους:
    • Η μεταβλητή i αρχικοποιείται σε 0,
    • Η συνθήκη δίνεται όταν πρέπει να είμαι μικρότερος από τον τοπικό μεταβλητό αριθμό,
    • Και αυξάνεται κάθε φορά που επαναλαμβάνεται ο βρόχος.

Στο σώμα του "forloop", υπάρχει μια κατηγορία JSP που εκτυπώνει στη ροή εξόδου χρησιμοποιώντας τη μέθοδο println όπου εκτυπώνουμε τη μεταβλητή i.

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

Παραγωγή:

  • Οι αριθμοί εξόδου είναι 0 1 2 3 4. Σε αυτό το παράδειγμα, δίνουμε την προϋπόθεση ότι έως ότου ο μετρητής είναι μικρότερος από ίσος με μια μεταβλητή, το "για βρόχο" πρέπει να εκτελεστεί. Ο αριθμός είναι 5 οπότε ο βρόχος θα ξεκινήσει από το 0 και θα τρέξει μέχρι το 4 (5 φορές). Εξ ου και η έξοδος.

JSP While loop

Χρησιμοποιείται για την επανάληψη των στοιχείων στα οποία έχει μία παράμετρο της συνθήκης.

Σύνταξη:

While(i

Σε αυτό το παράδειγμα,

Έχουμε έναν βρόχο χρόνου που θα επαναλαμβάνεται μέχρι την ημέρα είναι μεγαλύτερος από ίσος με τον μετρητή:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><κεφάλι>> Guru JSP5 <άτομο><%! int ημέρα = 2; int i = 1; %><% while (ημέρα> = i) {αν (ημέρα == i) {out.println ("Η Δευτέρα του");Διακοπή;}εγώ ++;}%>

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

  • Γραμμή κώδικα 10: Η μεταβλητή με το όνομα i αρχικοποιείται σε 1 και η ημέρα είναι 2 στις ετικέτες έκφρασης
  • Γραμμή κώδικα 11-17: Στις ετικέτες EL, υπάρχει "while loop" θα επαναληφθεί έως ότου ορίσουμε μια συνθήκη σαν να είναι η ημέρα μεγαλύτερη ή ίση με την μεταβλητή i. (ημέρα> = i)

    Εντός αυτού υπάρχει το "if condition" (η ημέρα είναι ίση με το i) και το "if condition" είναι αληθές τότε θα εκτυπώσει τη ροή εξόδου και θα βγεί από το while loop αλλιώς η μεταβλητή i αυξάνεται και ο βρόχος επαναλαμβάνεται.

Όταν εκτελούμε τον κώδικα, θα έχουμε την ακόλουθη έξοδο

Η έξοδος είναι:

  • Η έξοδος αυτού του κωδικού θα είναι η «Δευτέρα του».

Χειριστές JSP

Το JSP Operators υποστηρίζει τους περισσότερους από τους αριθμητικούς και λογικούς τελεστές του, οι οποίοι υποστηρίζονται από java εντός της γλώσσας έκφρασης (EL).

Οι χειριστές που χρησιμοποιούνται συχνά αναφέρονται παρακάτω:

Ακολουθούν οι χειριστές:

. Πρόσβαση σε ιδιοκτησία φασολιών ή καταχώριση χάρτη
[] Πρόσβαση σε πίνακα ή στοιχείο λίστας
() Ομαδοποιήστε μια υποεκφραση για να αλλάξετε τη σειρά αξιολόγησης
+ Πρόσθεση
- Αφαίρεση ή άρνηση μιας τιμής
* Πολλαπλασιασμός
/ ή div Διαίρεση
% ή mod Modulo (υπόλοιπο)
== ή ισοδ Δοκιμή για ισότητα
! = ή ne Δοκιμή ανισότητας
<ή lt Δοκιμή για λιγότερο από
> ή gt Δοκιμή για μεγαλύτερο από
<= ή le Ελέγξτε για λιγότερο από ή ίσο
> = ή ge Δοκιμή για μεγαλύτερο ή ίσο
&& ή και Δοκιμή για λογικό AND
|| ή ή Δοκιμή για λογικό OR
! ή όχι Unary Boolean συμπλήρωμα
Αδειάζω Ελέγξτε για κενές τιμές μεταβλητών

Σε αυτό το παράδειγμα,

  • Δηλώνουμε δύο μεταβλητές num1 και num2 και μετά παίρνουμε μια μεταβλητή num3, όπου χρησιμοποιούμε τον τελεστή JSP + για να προσθέσουμε num1 και num2 και να πάρουμε num3.
  • Στη συνέχεια, ελέγχουμε μια συνθήκη εάν το num3 δεν είναι ίσο με 0 χρησιμοποιώντας τελεστές JSP (! =,>) Και
  • Στη συνέχεια, πάρτε μια άλλη μεταβλητή num4 πολλαπλασιάζοντας δύο num1 και num2 παίρνουμε num4.

Αυτοί όλοι οι αριθμοί θα πρέπει να εκτυπώνονται ως έξοδο μας:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><κεφάλι>> Guru JSP6 <άτομο><% int num1 = 10; int num2 = 50;int num3 = num1 + num2;αν (num3! = 0 || num3> 0) {int num4 = num1 * num2;out.println ("Ο αριθμός 4 είναι" + num4);out.println ("Ο αριθμός 3 είναι" + num3);}%>

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

  • Γραμμή κώδικα 10: Η μεταβλητή που ονομάζεται num1 αρχικοποιείται σε 10 και num2 έως 50 στις ετικέτες έκφρασης
  • Γραμμή κώδικα 11: Η μεταβλητή num3 είναι το άθροισμα των num1 και num2 όπου χρησιμοποιούμε τον τελεστή προσθήκης
  • Γραμμή κώδικα 12-16: Στις ετικέτες EL, χρησιμοποιήσαμε μια συνθήκη OR η οποία είναι λογική τελεστής και αριθμητικοί τελεστές για να ελέγξουμε εάν ο αριθμός 3 είναι μεγαλύτερος από 0 στην συνθήκη if. Το OR χρησιμοποιείται όταν ισχύει μία συνθήκη σε τέτοια περίπτωση, θα εισέλθει στο "if case" όπου πολλαπλασιάζουμε δύο αριθμούς "num1" και "num2" και παίρνουμε έξοδο στο "num4" και θα εκτυπώσει τη ροή εξόδου.

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

Παραγωγή:

  • Η πρώτη έξοδος είναι ο αριθμός 4 είναι 500 (μεταβλητή num4 που είναι num1 * num2)
  • Η δεύτερη έξοδος είναι ο αριθμός 3 είναι 60 (μεταβλητή num3 που num1 + num2)

Περίληψη:

  • Το JSP Expression Language (EL) διευκολύνει την πρόσβαση στην εφαρμογή για τα δεδομένα που είναι αποθηκευμένα στα στοιχεία javabeans.
  • Επιτρέπει επίσης τη δημιουργία των εκφράσεων που είναι αριθμητικές και λογικές.
  • Μέσα στις ετικέτες EL μπορούμε να χρησιμοποιήσουμε ακέραιους αριθμούς. Κυμαινόμενοι αριθμοί, συμβολοσειρές και τιμές Boolean.
  • Στο JSP μπορούμε επίσης να χρησιμοποιήσουμε βρόχους και δηλώσεις λήψης αποφάσεων χρησιμοποιώντας ετικέτες EL