JSP - Syntaxe

Dans ce chapitre, nous discuterons de la syntaxe dans JSP. Nous comprendrons l'utilisation de base de la syntaxe simple (c'est-à-dire des éléments) impliqués dans le développement de JSP.

Éléments de JSP

Les éléments de JSP ont été décrits ci-dessous -

Le Scriptlet

Un scriptlet peut contenir n'importe quel nombre d'instructions de langage JAVA, de déclarations de variables ou de méthodes ou d'expressions valides dans le langage de script de page.

Voici la syntaxe de Scriptlet -

<% code fragment %>

Vous pouvez écrire l'équivalent XML de la syntaxe ci-dessus comme suit -

<jsp:scriptlet>
   code fragment
</jsp:scriptlet>

Tout texte, balises HTML ou éléments JSP que vous écrivez doit se trouver en dehors du scriptlet. Voici le premier exemple simple pour JSP -

<html>
   <head><title>Hello World</title></head>
   
   <body>
      Hello World!<br/>
      <%
         out.println("Your IP address is " + request.getRemoteAddr());
      %>
   </body>
</html>

NOTE - En supposant qu'Apache Tomcat est installé dans C: \ apache-tomcat-7.0.2 et que votre environnement est configuré selon le didacticiel de configuration de l'environnement.

Gardons le code ci-dessus dans le fichier JSP hello.jsp et mettez ce fichier dans C:\apache-tomcat7.0.2\webapps\ROOTannuaire. Parcourir le même en utilisant l'URLhttp://localhost:8080/hello.jsp. Le code ci-dessus générera le résultat suivant -

Déclarations JSP

Une déclaration déclare une ou plusieurs variables ou méthodes que vous pouvez utiliser dans le code Java ultérieurement dans le fichier JSP. Vous devez déclarer la variable ou la méthode avant de l'utiliser dans le fichier JSP.

Voici la syntaxe des déclarations JSP -

<%! declaration; [ declaration; ]+ ... %>

Vous pouvez écrire l'équivalent XML de la syntaxe ci-dessus comme suit -

<jsp:declaration>
   code fragment
</jsp:declaration>

Voici un exemple de déclarations JSP -

<%! int i = 0; %> 
<%! int a, b, c; %> 
<%! Circle a = new Circle(2.0); %>

Expression JSP

Un élément d'expression JSP contient une expression de langage de script qui est évaluée, convertie en chaîne et insérée là où l'expression apparaît dans le fichier JSP.

Étant donné que la valeur d'une expression est convertie en chaîne, vous pouvez utiliser une expression dans une ligne de texte, qu'elle soit ou non balisée avec HTML, dans un fichier JSP.

L'élément expression peut contenir toute expression valide selon la spécification du langage Java, mais vous ne pouvez pas utiliser de point-virgule pour terminer une expression.

Voici la syntaxe de l'expression JSP -

<%= expression %>

Vous pouvez écrire l'équivalent XML de la syntaxe ci-dessus comme suit -

<jsp:expression>
   expression
</jsp:expression>

L'exemple suivant montre une expression JSP -

<html> 
   <head><title>A Comment Test</title></head> 
   
   <body>
      <p>Today's date: <%= (new java.util.Date()).toLocaleString()%></p>
   </body> 
</html>

Le code ci-dessus générera le résultat suivant -

Today's date: 11-Sep-2010 21:24:25

Commentaires JSP

Le commentaire JSP marque le texte ou les instructions que le conteneur JSP doit ignorer. Un commentaire JSP est utile lorsque vous souhaitez masquer ou "commenter" une partie de votre page JSP.

Voici la syntaxe des commentaires JSP -

<%-- This is JSP comment --%>

L'exemple suivant montre les commentaires JSP -

<html> 
   <head><title>A Comment Test</title></head> 
   
   <body> 
      <h2>A Test of Comments</h2> 
      <%-- This comment will not be visible in the page source --%> 
   </body> 
</html>

Le code ci-dessus générera le résultat suivant -

A Test of Comments

Il existe un petit nombre de constructions spéciales que vous pouvez utiliser dans divers cas pour insérer des commentaires ou des caractères qui seraient autrement traités spécialement. Voici un résumé -

S.No. Syntaxe et objectif
1

<%-- comment --%>

Un commentaire JSP. Ignoré par le moteur JSP.

2

<!-- comment -->

Un commentaire HTML. Ignoré par le navigateur.

3

<\%

Représente statique <% littéral.

4

%\>

Représente statique%> littéral.

5

\'

Un guillemet simple dans un attribut qui utilise des guillemets simples.

6

\"

Un guillemet double dans un attribut qui utilise des guillemets doubles.

Directives JSP

Une directive JSP affecte la structure globale de la classe de servlet. Il a généralement la forme suivante -

<%@ directive attribute="value" %>

Il existe trois types de balise directive -

S.No. Directive et description
1

<%@ page ... %>

Définit les attributs dépendant de la page, tels que le langage de script, la page d'erreur et les exigences de mise en mémoire tampon.

2

<%@ include ... %>

Inclut un fichier pendant la phase de traduction.

3

<%@ taglib ... %>

Déclare une bibliothèque de balises, contenant des actions personnalisées, utilisées dans la page

Nous expliquerions la directive JSP dans un chapitre séparé JSP - Directives

Actions JSP

Utilisation des actions JSP constructsdans la syntaxe XML pour contrôler le comportement du moteur de servlet. Vous pouvez insérer dynamiquement un fichier, réutiliser des composants JavaBeans, transférer l'utilisateur vers une autre page ou générer du HTML pour le plug-in Java.

Il n'y a qu'une seule syntaxe pour l'élément Action, car il est conforme à la norme XML -

<jsp:action_name attribute="value" />

Les éléments d'action sont essentiellement des fonctions prédéfinies. Le tableau suivant répertorie les actions JSP disponibles -

S.No. Syntaxe et objectif
1

jsp:include

Inclut un fichier au moment où la page est demandée.

2

jsp:useBean

Recherche ou instancie un JavaBean.

3

jsp:setProperty

Définit la propriété d'un JavaBean.

4

jsp:getProperty

Insère la propriété d'un JavaBean dans la sortie.

5

jsp:forward

Transfère le demandeur vers une nouvelle page.

6

jsp:plugin

Génère un code spécifique au navigateur qui crée une balise OBJECT ou EMBED pour le plugin Java.

sept

jsp:element

Définit les éléments XML de manière dynamique.

8

jsp:attribute

Définit l'attribut de l'élément XML défini dynamiquement.

9

jsp:body

Définit le corps de l'élément XML défini dynamiquement.

dix

jsp:text

Utilisé pour écrire du texte de modèle dans des pages et des documents JSP.

Nous expliquerions les actions JSP dans un chapitre séparé JSP - Actions

Objets implicites JSP

JSP prend en charge neuf variables définies automatiquement, également appelées objets implicites. Ces variables sont -

S.No. Objet et description
1

request

C'est le HttpServletRequest objet associé à la demande.

2

response

C'est le HttpServletResponse objet associé à la réponse au client.

3

out

C'est le PrintWriter objet utilisé pour envoyer la sortie au client.

4

session

C'est le HttpSession objet associé à la demande.

5

application

C'est le ServletContext objet associé au contexte d'application.

6

config

C'est le ServletConfig objet associé à la page.

sept

pageContext

Cela encapsule l'utilisation de fonctionnalités spécifiques au serveur telles que des performances plus élevées JspWriters.

8

page

Ceci est simplement un synonyme de this, et est utilisé pour appeler les méthodes définies par la classe de servlet traduite.

9

Exception

le Exception object permet d'accéder aux données d'exception par la JSP désignée.

Nous expliquerions les objets implicites JSP dans un chapitre séparé JSP - Objets implicites .

Déclarations de flux de contrôle

Vous pouvez utiliser toutes les API et blocs de construction de Java dans votre programmation JSP, y compris les déclarations de prise de décision, les boucles, etc.

Déclarations décisionnelles

le if...else block commence comme un Scriptlet ordinaire, mais le Scriptlet est fermé à chaque ligne avec du texte HTML inclus entre les balises Scriptlet.

<%! int day = 3; %> 
<html> 
   <head><title>IF...ELSE Example</title></head> 
   
   <body>
      <% if (day == 1 || day == 7) { %>
         <p> Today is weekend</p>
      <% } else { %>
         <p> Today is not weekend</p>
      <% } %>
   </body> 
</html>

Le code ci-dessus générera le résultat suivant -

Today is not weekend

Maintenant, regardez ce qui suit switch...case bloc qui a été écrit un peu différemment en utilisant out.println() et à l'intérieur des Scriptletas -

<%! int day = 3; %> 
<html> 
   <head><title>SWITCH...CASE Example</title></head> 
   
   <body>
      <% 
         switch(day) {
            case 0:
               out.println("It\'s Sunday.");
               break;
            case 1:
               out.println("It\'s Monday.");
               break;
            case 2:
               out.println("It\'s Tuesday.");
               break;
            case 3:
               out.println("It\'s Wednesday.");
               break;
            case 4:
               out.println("It\'s Thursday.");
               break;
            case 5:
               out.println("It\'s Friday.");
               break;
            default:
               out.println("It's Saturday.");
         }
      %>
   </body> 
</html>

Le code ci-dessus générera le résultat suivant -

It's Wednesday.

Déclarations de boucle

Vous pouvez également utiliser trois types de base de blocs en boucle en Java: for, while, and do…while blocs dans votre programmation JSP.

Regardons ce qui suit for exemple de boucle -

<%! int fontSize; %> 
<html> 
   <head><title>FOR LOOP Example</title></head> 
   
   <body>
      <%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
         <font color = "green" size = "<%= fontSize %>">
            JSP Tutorial
      </font><br />
      <%}%>
   </body> 
</html>

Le code ci-dessus générera le résultat suivant -

JSP Tutorial

JSP Tutorial
JSP Tutorial

L'exemple ci-dessus peut être écrit en utilisant le while boucle comme suit -

<%! int fontSize; %> 
<html> 
   <head><title>WHILE LOOP Example</title></head> 
   
   <body>
      <%while ( fontSize <= 3){ %>
         <font color = "green" size = "<%= fontSize %>">
            JSP Tutorial
         </font><br />
         <%fontSize++;%>
      <%}%>
   </body> 
</html>

Le code ci-dessus générera le résultat suivant -

JSP Tutorial



   JSP Tutorial



   JSP Tutorial

Opérateurs JSP

JSP prend en charge tous les opérateurs logiques et arithmétiques pris en charge par Java. Le tableau suivant répertorie tous les opérateurs ayant la priorité la plus élevée apparaissent en haut du tableau, ceux qui ont la plus faible priorité apparaissent en bas.

Dans une expression, les opérateurs de priorité supérieure seront évalués en premier.

Catégorie Opérateur Associativité
Postfix () []. (opérateur point) De gauche à droite
Unaire ++ - -! ~ De droite à gauche
Multiplicatif * /% De gauche à droite
Additif + - De gauche à droite
Décalage >> >>> << De gauche à droite
Relationnel >> = <<= De gauche à droite
Égalité ==! = De gauche à droite
ET au niveau du bit & De gauche à droite
XOR au niveau du bit ^ De gauche à droite
OU au niveau du bit | De gauche à droite
ET logique && De gauche à droite
OU logique || De gauche à droite
Conditionnel ?: De droite à gauche
Affectation = + = - = * = / =% = >> = << = & = ^ = | = De droite à gauche
Virgule , De gauche à droite

Littéraux JSP

Le langage d'expression JSP définit les littéraux suivants -

  • Boolean - vrai et faux

  • Integer - comme en Java

  • Floating point - comme en Java

  • String- avec des guillemets simples et doubles; "est échappé comme \", 'est échappé comme \' et \ est échappé comme \\.

  • Null - nul