Langage d'expression dans JSP

โšก Rรฉsumรฉ intelligent

Le langage d'expression dans JSP simplifie l'accรจs aux donnรฉes stockรฉes dans JavaLes beans et les objets implicites tels que les requรชtes, les sessions et les applications. Introduits dans JSP 2.0, ils prennent en charge les opรฉrateurs arithmรฉtiques, logiques et relationnels, ainsi que les instructions de dรฉcision et de boucle รฉcrites dans des balises EL.

  • ๐Ÿงฎ Dรฉfinition d'EL : Simplifie l'accรจs ร  JavaBeans et objets implicites ; ajoutรฉs dans JSP 2.0.
  • ๐Ÿ”ฃ syntaxe: ร‰crivez les expressions entre ${ } pour qu'elles soient รฉvaluรฉes lors de l'exรฉcution et que le rรฉsultat soit affichรฉ.
  • ๐Ÿ”€ La prise de dรฉcision: Les instructions if-else et switch contrรดlent le flux de la page.
  • (I.e. Boucles: Les instructions for et while permettent d'itรฉrer sur des conditions.
  • โž• Operateurs : Opรฉrateurs arithmรฉtiques, relationnels et logiques (eq, lt, and, or, vide).

Langage d'expression dans JSP

Quโ€™est-ce que le langage dโ€™expression (EL) ?

Le langage d'expression (EL) est un mรฉcanisme qui simplifie l'accessibilitรฉ des donnรฉes stockรฉes dans Java composant bean et autre objet comme requรชte, session et application, etc.

Il existe de nombreux opรฉrateurs dans JSP qui sont utilisรฉs dans EL comme les opรฉrateurs arithmรฉtiques et logiques pour exรฉcuter une expression. Il a รฉtรฉ introduit dans JSP 2.0

Syntaxe JSP du langage d'expression (EL)

Syntaxe de EL : ${expression}

  • Dans JSP, tout ce qui est prรฉsent entre les accolades est รฉvaluรฉ au moment de l'exรฉcution et envoyรฉ au flux de sortie.
  • L'expression est une expression EL valide et elle peut รชtre mรฉlangรฉe avec un texte statique et combinรฉe avec une autre expression pour former une expression plus grande.

Pour avoir une meilleure idรฉe du fonctionnement des expressions dans JSP, nous allons voir l'exemple ci-dessous. Dans cet exemple, nous verrons comment EL est utilisรฉ comme opรฉrateur pour additionner deux nombres (1+2) et obtenir le rรฉsultat correspondant.

<%@ 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 JSP1</title>
</head>
<body>
<a>Expression is:</a>
${1+2};
</body>
</html>

Explication de Code:

  • Code Ligne 11: Le langage d'expression (EL) est dรฉfini lร  oรน nous ajoutons deux nombres 1+2, il donnera donc un rรฉsultat de 3.

Lorsque vous exรฉcutez le code ci-dessus, vous obtiendrez la sortie suivante.

Sortie:

Langage d'expression JSP

  • L'expression est : 3 (Comme les nombres 1+2 seront ajoutรฉs et serviront de sortie)

Dรฉclarations de contrรดle de flux :

JSP offre la puissance de Java ร  intรฉgrer dans l'application. Nous pouvons utiliser toutes les API et รฉlรฉments de base de Java in Programmation JSP y compris les instructions de flux de contrรดle qui incluent la prise de dรฉcision et les instructions de boucle.

Il existe deux types d'instructions de contrรดle de flux dรฉcrites ci-dessous :

  1. Dรฉclarations dรฉcisionnelles
  2. Dรฉclarations de boucle

Dรฉclarations dรฉcisionnelles :

La dรฉclaration de prise de dรฉcision dans JSP est basรฉe sur le fait que l'ensemble de conditions soit vrai ou faux. La dรฉclaration se comportera en consรฉquence.

Il existe deux types de dรฉclarations dรฉcisionnelles dรฉcrites ci-dessous :

  1. Sinon
  2. interrupteur

JSP Si-sinon

L'instruction ยซ If else ยป est la base de toutes les instructions de flux de contrรดle et elle indique au programme d'exรฉcuter une certaine section de code uniquement si le test particulier est รฉvaluรฉ comme vrai.

Cette condition est utilisรฉe pour tester plusieurs conditions si elles sont vraies ou fausses.

  • Si la premiรจre condition est vraie alors ยซ if block ยป est exรฉcutรฉ et
  • si c'est faux alors "else block" est exรฉcutรฉ

Syntaxe de l'instruction if โ€“ else:

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

Dans cet exemple, nous allons tester la condition ยซ si sinon ยป en prenant une variable et en vรฉrifiant la valeur si la variable correspond ร  ce ร  quoi elle est initialisรฉe :

<%@ 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 JSP2</title>
</head>
<body>
<%! int month=5; %>
<% if(month==2){ %>
<a>Its February</a>
<% }else{ %>
<a>Any month other than February</a>
<%} %>
</body>
</html>

Explication du code :

  • Code Ligne 10: La variable nommรฉe mois est initialisรฉe ร  5 dans les balises d'expression
  • Code Ligne 11: Dans les balises EL il y a ยซ if condition ยป indiquant que si le mois est รฉgal ร  2 (la condition est testรฉe ici comme vraie ou fausse)
  • Code Ligne 12: Si la condition est vraie et que la variable mois est 2, elle sera imprimรฉe dans le flux de sortie.
  • Code Ligne 13-15: Si la condition if ci-dessus รฉchoue, elle sera dรฉplacรฉe vers la partie else pour tous les autres cas oรน l'instruction sera imprimรฉe sur le flux de sortie et la condition est fermรฉe.

Lorsque vous exรฉcutez le code ci-dessus, vous obtiendrez la sortie suivante.

Sortie :

JSP Si-sinon

  • ร‰tant donnรฉ que le mois que nous avons est 5, ce qui n'est pas รฉgal ร  #2 (fรฉvrier). Par consรฉquent, nous avons la sortie ยซ Tout mois autre que fรฉvrier ยป (le mois est mentionnรฉ comme 5, donc les autres sont exรฉcutรฉs)

Commutateur JSP

Le corps de lโ€™instruction switch est appelรฉ ยซ bloc switch ยป.

  • Le cas de commutation est utilisรฉ pour vรฉrifier le nombre de chemins d'exรฉcution possibles.
  • Un commutateur peut รชtre utilisรฉ avec tous les types de donnรฉes
  • Les instructions switch contiennent plusieurs cas et un cas par dรฉfaut
  • Il รฉvalue l'expression puis exรฉcute toutes les instructions suivant le cas correspondant

Syntaxe de l'instruction switch:

switch (operator)
{
   Case 1:
       Block of statements
break;
   Case 2:
      Block of statements
break;


case n:
    Block of statements
break;
default:
  Block of statements
break;
}
  • Le bloc de commutation commence par un paramรจtre, qui est l'opรฉrateur qui doit รชtre transmis et
  • Ensuite, il existe diffรฉrents cas qui fournissent une condition et celui qui correspond ร  l'opรฉrateur, ce cas est exรฉcutรฉ.

Dans l'exemple ci-dessous, nous avons dรฉfini une variable ยซ semaine ยป, qui est comparรฉe ร  la condition vraie. Ici, la semaine est 2, donc la rรฉponse est 2.nd le cas correspond et la sortie est mardi :

<%@ 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 JSP3</title>
</head>
<body>
<%! int week=2; %>
<% switch(week){
case 0:
    out.println("Sunday");
    break;
case 1:
    out.println("Monday");
    break;
case 2:
    out.println("Tuesday");
    break;
case 3:
    out.println("wednesday");
    break;
case 4:
    out.println("Thursday");
    break;
case 5:
    out.println("Friday");
    break;
    default:
        out.println("Saturday");
    }
%>
</body>
</html>

Explication de Code:

  • Code Ligne 10: La variable nommรฉe week est initialisรฉe ร  2 dans les balises d'expression
  • Code Ligne 11: Dans les balises EL, le cas de commutation est dรฉmarrรฉ oรน la semaine est passรฉe en paramรจtre
  • Code Lignes 12 et 29 : Tous les cas ont รฉtรฉ mentionnรฉs, du cas 0 au cas 5, oรน la valeur du paramรจtre week correspond aux cas et, par consรฉquent, la sortie est imprimรฉe. Dans ce cas, la valeur est 2 donc le cas 2 sera exรฉcutรฉ dans ce cas. Ici, ยซ out ยป est la classe de JSP qui รฉcrit le flux de sortie pour la rรฉponse gรฉnรฉrรฉe et ยซ println ยป est une mรฉthode de cette classe.
  • Code Ligne 30-32: Si tous les cas ci-dessus รฉchouent, il sera dรฉplacรฉ vers la partie par dรฉfaut et sera exรฉcutรฉ, oรน l'instruction sera imprimรฉe sur le flux de sortie et la condition sera fermรฉe.

Lorsque vous exรฉcutez le code ci-dessus, vous obtiendrez la sortie suivante.

Sortie :

Commutateur JSP

  • La sortie dans ce cas est le mardi car le 2รจme cas est appelรฉ.

Instructions de boucle :

Boucle JSP For

Il est utilisรฉ pour itรฉrer les รฉlรฉments pour une certaine condition et comporte trois paramรจtres.

  • Le compteur variable est initialisรฉ
  • Condition jusqu'ร  ce que la boucle doive รชtre exรฉcutรฉe
  • Le compteur doit รชtre incrรฉmentรฉ

Syntaxe de la boucle For :

For(inti=0;i<n;i++)
{
           //block of statements
}

Dans cet exemple, nous avons une boucle for qui itรจre jusqu'ร  ce que le compteur soit infรฉrieur au nombre donnรฉ :

<%@ 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 JSP4</title>
</head>
<body>
<%! int num=5; %>
<% out.println("Numbers are:");
for(int i=0;i<num;i++){
    out.println(i);
}%>
</body>
</html>

Explication du code :

  1. Code Ligne 10: La variable nommรฉe ยซ num ยป est initialisรฉe ร  5 dans les balises d'expression
  2. Code Ligne 11-14: Dans les balises EL, ยซ out ยป est la classe de JSP et ยซ println ยป est la mรฉthode out qui s'imprime dans le flux de sortie et la boucle for est lancรฉe qui a trois paramรจtres :
    • La variable i est initialisรฉe ร  0,
    • La condition est donnรฉe oรน i est infรฉrieur ร  la variable locale num,
    • Et i est incrรฉmentรฉ ร  chaque itรฉration de la boucle temporelle.

Dans le corps de ยซ forloop ยป, il y a une classe de JSP qui s'imprime dans le flux de sortie en utilisant la mรฉthode println oรน nous imprimons la variable i.

Lorsque vous exรฉcutez le code ci-dessus, vous obtiendrez la sortie suivante.

Sortie :

Boucle JSP For

  • Sortie Numbers sont 0 1 2 3 4. Dans cet exemple, nous donnons la condition selon laquelle jusqu'ร  ce que le compteur soit infรฉrieur ร  une variable, la ยซ boucle for ยป doit รชtre exรฉcutรฉe. Le nombre est 5 donc la boucle commencera ร  partir de 0 et se dรฉroulera jusqu'ร  4 (5 fois). D'oรน la sortie.

Boucle JSP While

Il est utilisรฉ pour itรฉrer le รฉlรฉments dans lequel il a un paramรจtre de la condition.

syntaxe:

While(i<n)
{
      //Block of statements
}

Dans cet exemple, nous avons une boucle while qui va itรฉrer jusqu'ร  ce que le jour soit supรฉrieur ou รฉgal au compteur :

<%@ 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 JSP5</title>
</head>
<body>
<%! int day=2; int i=1; %>
<% while(day>=i){
    if(day==i){
        out.println("Its Monday");
        break;}
    i++;}
%>

</body>
</html>

Explication du code :

  • Code Ligne 10: La variable nommรฉe i est initialisรฉe ร  1 et le jour vaut 2 dans les balises d'expression
  • Code Ligne 11-17: Dans les balises EL, une boucle ยซ while ยป s'exรฉcute jusqu'ร  ce qu'une condition soit remplie : si la date est supรฉrieure ou รฉgale ร  i, la variable est vraie (jour >= i). ร€ l'intรฉrieur de cette boucle, une condition ยซ if ยป vรฉrifie si la date est รฉgale ร  i. Si cette condition est vraie, le flux de sortie est affichรฉ et la boucle ยซ while ยป s'arrรชte ; sinon, la variable i est incrรฉmentรฉe et la boucle continue.

Lorsque nous exรฉcutons le code, nous aurons le rรฉsultat suivant

La sortie est:

Boucle JSP While

  • La sortie de ce code sera ยซ son Monday ยป.

JSP Operajeudi

JSP Operators prend en charge la plupart de ses opรฉrateurs arithmรฉtiques et logiques qui sont pris en charge par Java dans les balises de langage d'expression (EL). Les opรฉrateurs frรฉquemment utilisรฉs sont mentionnรฉs ci-dessous :

Voici les opรฉrateurs :

. Accรฉder ร  une propriรฉtรฉ de bean ou ร  une entrรฉe de carte
[] Accรฉder ร  un รฉlรฉment de tableau ou de liste
() Regrouper une sous-expression pour modifier l'ordre d'รฉvaluation
+ Addition
- Soltracรฉmission ou nรฉgation d'une valeur
* Multiplier
/ ou div Division
% ou module Modulo (reste)
== ou รฉquation Test d'รฉgalitรฉ
!= ou ne Test d'inรฉgalitรฉ
< ou lt Testez pour moins de
> ou GT Test pour plus de
<= ou le Test pour infรฉrieur ou รฉgal
>= ou ge Test pour supรฉrieur ou รฉgal
&& ou et Tester le ET logique
|| ou ou Test du OU logique
! ou non Complรฉment boolรฉen unaire
Vide Tester les valeurs de variables vides

Dans cet exemple,

  • Nous dรฉclarons deux variables num1 et num2, puis prenons une variable num3, oรน nous utilisons l'opรฉrateur JSP + by pour ajouter num1 et num2 et obtenir num3.
  • Ensuite, nous vรฉrifions si num3 est diffรฉrent de 0 en utilisant les opรฉrateurs JSP (!=, >) et
  • Prenez ensuite une autre variable num4 en multipliant deux num1 et num2 nous obtenons num4.

Tous ces nombres doivent รชtre imprimรฉs comme rรฉsultat :

<%@ 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 JSP6</title>
</head>
<body>
<% int num1=10; int num2 = 50;
   int num3 = num1+num2;
   if(num3 != 0 || num3 > 0){
       int num4= num1*num2;
       out.println("Number 4 is " +num4);
       out.println("Number 3 is " +num3);
    }%>
</body>
</html>

Explication du code :

  • Code Ligne 10: La variable nommรฉe num1 est initialisรฉe ร  10 et num2 ร  50 dans les balises d'expression
  • Code Ligne 11: La variable num3 est la somme de num1 et num2 oรน nous utilisons l'opรฉrateur d'addition
  • Code Ligne 12-16: Dans les balises EL, nous avons utilisรฉ l'opรฉrateur OU (ou un opรฉrateur logique et arithmรฉtique) pour vรฉrifier si num3 est supรฉrieur ร  0 dans la condition ยซ if ยป. L'opรฉrateur OU est utilisรฉ lorsqu'au moins une des conditions est vraie ; dans ce cas, le programme entre dans la partie ยซ if ยป oรน nous multiplions les nombres ยซ num1 ยป et ยซ num2 ยป et stockons le rรฉsultat dans ยซ num4 ยป. Le rรฉsultat est ensuite affichรฉ.

Lorsque vous exรฉcutez le code ci-dessus, vous obtiendrez la sortie suivante.

Sortie :

JSP Operajeudi

  • La premiรจre sortie est le numรฉro 4 est 500 (variable num4 qui est num1*num2)
  • La deuxiรจme sortie est le numรฉro 3 est 60 (variable num3 dont num1+num2)

FAQ

Le langage d'expression (EL) simplifie l'accรจs aux donnรฉes stockรฉes dans JavaLes beans et les objets implicites tels que les requรชtes, les sessions et les applications. Cela vous permet d'รฉcrire des expressions et des opรฉrateurs concis directement dans une page JSP au lieu de Java scriptlets.

EL utilise la syntaxe ${expression}. Le contenu entre accolades est รฉvaluรฉ ร  l'exรฉcution et envoyรฉ au flux de sortie. Les expressions peuvent รชtre combinรฉes avec du texte statique et d'autres expressions.

Le langage d'expression a รฉtรฉ introduit dans JSP 2.0. Il a รฉtรฉ conรงu pour rรฉduire le besoin de Java Les scriptlets permettent d'accรฉder et d'afficher facilement les donnรฉes de l'application.

L'IA peut convertir Java Transformer des scriptlets en expressions EL plus claires, suggรฉrer l'opรฉrateur appropriรฉ et gรฉnรฉrer des exemples de boucles et de conditions, etc.ping Les dรฉveloppeurs รฉcrivent plus rapidement des pages JSP plus lisibles.

Oui. L'IA peut signaler les syntaxes EL invalides, les accolades mal appariรฉes, les propriรฉtรฉs de bean manquantes et les problรจmes de type, puis suggรฉrer des corrections, rรฉduisant ainsi les erreurs d'exรฉcution dans les pages JSP.

Rรฉsumez cet article avec :