Cette section présentera brièvement la syntaxe de base du développement JSP.
Un script peut contenir un nombre illimité d'instructions, de variables, de méthodes ou d'expressions Java, à condition qu'elles soient valides dans le langage de script.
Le format de syntaxe du programme de script :
<% extrait de code%>
Alternativement, vous pouvez écrire l'instruction XML équivalente, comme ceci :
<jsp:scriptlet> extrait de code</jsp:scriptlet>
Tout texte, balises HTML et éléments JSP doivent être écrits en dehors du programme de script.
Un exemple est donné ci-dessous, qui est également le premier exemple JSP de ce tutoriel :
<html><head><title>Bonjour tout le monde</title></head><body>Bonjour tout le monde !<br/><% out.println("Votre adresse IP est " + request.getRemoteAddr()); ></corps></html>
Remarque : assurez-vous qu'Apache Tomcat a été installé dans le répertoire C:apache-tomcat-7.0.2 et que l'environnement d'exécution a été correctement configuré.
Enregistrez le code ci-dessus dans hello.jsp, puis placez-le dans le répertoire C:apache-tomcat-7.0.2webappsROOT, ouvrez le navigateur et saisissez http://localhost:8080/hello dans la barre d'adresse .jsp . Après exécution, j'obtiens les résultats suivants :
Une instruction de déclaration peut déclarer une ou plusieurs variables et méthodes à utiliser par le code Java ultérieur. Dans un fichier JSP, vous devez déclarer ces variables et méthodes avant de pouvoir les utiliser.
Le format syntaxique de la déclaration JSP :
<%! déclaration ; [ déclaration ; ]+ ... %>
Alternativement, vous pouvez écrire l'instruction XML équivalente, comme ceci :
<jsp:declaration>Extrait de code</jsp:declaration>
Exemple de programme :
<%! int i = 0; %> <%! int a, b, c %> <%!
L'expression du langage de script contenue dans une expression JSP est d'abord convertie en chaîne puis insérée à l'endroit où l'expression apparaît.
Étant donné que la valeur de l'expression est convertie en chaîne, vous pouvez utiliser l'expression dans une ligne de texte, qu'il s'agisse ou non d'une balise HTML.
L'élément expression peut contenir n'importe quelle expression conforme à la spécification du langage Java, mais un point-virgule ne peut pas être utilisé pour terminer l'expression.
Format de syntaxe de l'expression JSP :
<%=expression%>
De même, vous pouvez écrire l'instruction XML équivalente :
<jsp:expression>expression</jsp:expression>
Exemple de programme :
<html> <head><title>Un test de commentaire</title></head> <body><p> Date du jour : <%= (new java.util.Date()).toLocaleString()%></ p></corps> </html>
Après exécution, j'obtiens les résultats suivants :
Date d'aujourd'hui : 11 septembre 2013 21:24:25
Les commentaires JSP ont deux fonctions principales : commenter le code et commenter une certaine section de code.
Le format syntaxique des commentaires JSP :
<%-- Vous pouvez remplir les commentaires JSP ici--%>
Exemple de programme :
<html> <head><title>Un test de commentaires</title></head> <body> <h2>Un test de commentaires</h2> <%-- Cette partie des commentaires ne sera pas affichée sur le web page-- %> </body> </html>
Après exécution, j'obtiens les résultats suivants :
Un test de commentaires
Règles de grammaire pour utiliser les commentaires dans différentes situations :
grammaire | décrire |
---|---|
<%--Commentaire--%> | Commentaires JSP, le contenu du commentaire ne sera pas envoyé au navigateur ni même compilé |
<!-- Commentaires --> | Commentaires HTML, vous pouvez voir le contenu du commentaire lors de la visualisation du code source de la page Web via le navigateur |
<% | Représente statique <% constant |
%> | Représente statique %> constante |
' | Guillemets simples utilisés dans les attributs |
" | Guillemets doubles utilisés dans les attributs |
Les directives JSP sont utilisées pour définir les propriétés liées à l'ensemble de la page JSP.
Format de syntaxe des instructions JSP :
<%@ attribut de directive="valeur" %>
Il existe trois balises directives :
instruction | décrire |
---|---|
<%@ page ... %> | Définissez les attributs de dépendance de la page, tels que le langage de script, la page d'erreur, les exigences de cache, etc. |
<%@inclut ... %> | inclure d'autres fichiers |
<%@taglib ... %> | Présenter la définition de la bibliothèque de balises, qui peut être une balise personnalisée |
Les balises de comportement JSP utilisent des structures de syntaxe XML pour contrôler le moteur de servlet. Il peut insérer dynamiquement un fichier, réutiliser des composants JavaBean, guider l'utilisateur vers une autre page, générer du HTML pertinent pour les plug-ins Java, et bien plus encore.
Les balises de comportement n'ont qu'un seul format de syntaxe, qui respecte strictement le standard XML :
<jsp:action_name attribut="valeur" />
Les balises de comportement sont essentiellement des fonctions prédéfinies. Le tableau suivant répertorie certaines des balises de comportement JSP disponibles : :
grammaire | décrire |
---|---|
jsp:inclure | Utilisé pour inclure des ressources statiques ou dynamiques dans la page actuelle |
jsp:utiliserBean | Rechercher et initialiser un composant JavaBean |
jsp:setPropriété | Définir la valeur du composant JavaBean |
jsp:getPropriété | Insérez la valeur du composant JavaBean dans la sortie |
jsp: en avant | Transmettre un objet de requête contenant la requête de l'utilisateur d'un fichier JSP à un autre |
jsp: plugin | Utilisé pour inclure des objets Applet et JavaBean dans la page HTML générée |
jsp:élément | Créer dynamiquement un élément XML |
jsp:attribut | Définir les attributs des éléments XML créés dynamiquement |
jsp: corps | Définit le corps d'un élément XML créé dynamiquement |
jsp:texte | Utilisé pour encapsuler les données du modèle |
JSP prend en charge neuf variables définies automatiquement, appelées objets implicites. Une introduction à ces neuf objets implicites est présentée dans le tableau ci-dessous :
objet | décrire |
---|---|
demande | Instance de la classe HttpServletRequest |
réponse | Instance de la classe HttpServletResponse |
dehors | Une instance de la classe PrintWriter , utilisée pour afficher les résultats sur une page Web |
session | Instance de la classe HttpSession |
application | Une instance de la classe ServletContext , liée au contexte de l'application |
configuration | Instance de la classe ServletConfig |
pageContext | Une instance de la classe PageContext , donnant accès à tous les objets et espaces de noms de la page JSP |
page | Similaire à ce mot-clé dans les classes Java |
Exception | Un objet de la classe Exception représente l'objet d'exception correspondant dans la page JSP où l'erreur s'est produite. |
JSP fournit une prise en charge complète du langage Java. Vous pouvez utiliser l'API Java dans les programmes JSP et même créer des blocs de code Java, notamment des instructions de jugement et des instructions de boucle, etc.
Si...sinon bloque, regardez cet exemple :
<%! int jour = 3; %> <html> <head><title>IF...ELSE Exemple</title></head> <body><% if (jour == 1 | jour == 7) { %> <p> Aujourd'hui c'est le week-end</p><% } else { %> <p> Aujourd'hui c'est pas le week-end</p><% } %></body> </html>
Après exécution, j'obtiens les résultats suivants :
Aujourd'hui ce n'est pas le week-end
Regardons maintenant le bloc switch...case. Il est très différent du bloc if...else. Il utilise out.println() et est entièrement contenu dans la balise du script, comme ceci :
<%! int day = 3; %> <html> <head><title>SWITCH...CASE Exemple</title></head> <body><% switch(day) { case 0 : out.println( "C'est dimanche."); break; case 1: out.println("C'est lundi."); break; cas 3 : out.println("C'est mercredi."); break; cas 4 : out.println("C'est jeudi."); break; ); break; par défaut : out.println("C'est samedi.");
Après exécution, les résultats suivants sont obtenus :
C'est mercredi.
Instruction de boucle
Les trois types de boucles de base de Java peuvent être utilisés dans les programmes JSP : for, while et do... while.
Regardons un exemple de boucle for :
<%! int fontSize; %> <html> <head><title>FOR LOOP Exemple</title></head> <body><%for ( fontSize = 1; fontSize <= 3; fontSize++){ %> < font color="green" size="<%= fontSize %>"> Tutoriel JSP </font><br /><%}%></body> </html>
Après exécution, j'obtiens les résultats suivants :
Tutoriel JSPTutoriel JSP Tutoriel JSPRéécrivez l'exemple ci-dessus en utilisant une boucle while :
<%! int fontSize; %> <html> <head><title>Exemple de boucle WHILE</title></head> <body><%while ( fontSize <= 3){ %> <font color="green" size="<%= fontSize %>"> Tutoriel JSP </font><br /><%fontSize++;%><%}%></body> </html>
J'obtiens le même résultat après avoir exécuté :
Tutoriel JSPTutoriel JSP Tutoriel JSPJSP prend en charge tous les opérateurs logiques et arithmétiques Java.
Le tableau suivant répertorie les opérateurs JSP courants, par ordre de priorité :
catégorie | Opérateur | associativité |
---|---|---|
suffixe | () [] (opérateur point) | de gauche à droite |
un yuan | ++ - - ! | de droite à gauche |
Multipliabilité | */% | de gauche à droite |
Additivité | + - | de gauche à droite |
changement | >> >>> << | de gauche à droite |
relation | > >= < <= | de gauche à droite |
égal/inégal | == != | de gauche à droite |
Bit ET | & | de gauche à droite |
Bit XOR | ^ | de gauche à droite |
peu ou | | | de gauche à droite |
ET logique | && | de gauche à droite |
logique ou | || | de gauche à droite |
Jugement conditionnel | ?: | de droite à gauche |
Affectation | = += -= *= /= %= >>= <<= &= ^= |= | de droite à gauche |
virgule | , | de gauche à droite |
Le langage JSP définit les constantes suivantes :
Booléen : vrai et faux ;
Type entier (int) : le même qu'en Java ;
Float : le même qu’en Java ;
Chaîne : commence et se termine par des guillemets simples ou doubles ;
Nul : nul.