Syntaxe JSP
Cette section présentera brièvement la syntaxe de base du développement JSP.
Programmes de script
Les programmes de script peuvent contenir n'importe quel nombre d'instructions, de variables, de méthodes ou d'expressions Java, à condition qu'elles soient valides dans le langage de script.
Format de syntaxe de script :
<% 代码片段 %>
Alternativement, vous pouvez écrire son instruction XML équivalente, comme ceci :
<jsp:scriptlet> 代码片段 </jsp:scriptlet>
Tout texte, balise HTML ou élément JSP doit être écrit 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>Hello World</title></head> <body> Hello World!<br/> <% out.println("Your IP address is " + request.getRemoteAddr()); %> </body> </html>
Remarque : Veuillez vous assurer qu'Apache Tomcat a été installé en C : Le répertoire apache-tomcat -7.0.2 et l'environnement d'exécution ont été correctement définis.
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/ dans la barre d'adresse bonjour. jsp. Après exécution, nous obtenons les résultats suivants :
Problème d'encodage chinois
Si nous voulons afficher le chinois normalement sur la page, nous devons ajouter ce qui suit code en tête du fichier JSP : <>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
Après analyse, nous modifions le programme ci-dessus en :
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> Hello World!<br/> <% out.println("你的 IP 地址 " + request.getRemoteAddr()); %> </body> </html>
De cette façon, le chinois peut être affiché normalement.
Déclaration JSP
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.
Format de syntaxe de déclaration JSP :
<%! declaration; [ declaration; ]+ ... %>
Alternativement, vous pouvez également écrire son instruction XML équivalente, comme celle-ci :
<jsp:declaration> 代码片段 </jsp:declaration>
Exemple de programme :
<%! int i = 0; %> <%! int a, b, c; %> <%! Circle a = new Circle(2.0); %>
Expression JSP
Une expression de 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.
Le format de syntaxe de l'expression JSP :
<%= 表达式 %>
De même, vous pouvez également écrire l'instruction XML équivalente :
<jsp:expression> 表达式 </jsp:expression>
Exemple de programme :
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p> 今天的日期是: <%= (new java.util.Date()).toLocaleString()%> </p> </body> </html>
Ce qui suit les résultats sont obtenus après course :
今天的日期是: 2016-6-25 13:40:07
Commentaires JSP
Les commentaires JSP ont deux fonctions principales : commenter le code et commenter une certaine section de code.
Le format de syntaxe des commentaires JSP :
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <%-- 该部分注释在网页中不会被显示--%> <p> 今天的日期是: <%= (new java.util.Date()).toLocaleString()%> </p> </body> </html>
Après l'exécution, les résultats suivants sont obtenus :
今天的日期是: 2016-6-25 13:41:26
Les règles de syntaxe d'utilisation des commentaires dans différentes situations :
语法 | 描述 |
---|---|
<%-- 注释 --%> | JSP注释,注释内容不会被发送至浏览器甚至不会被编译 |
<!-- 注释 --> | HTML注释,通过浏览器查看网页源代码时可以看见注释内容 |
<% | 代表静态 <%常量 |
%> | 代表静态 %> 常量 |
' | 在属性中使用的单引号 |
" | 在属性中使用的双引号 |
Directives JSP
Les directives JSP sont utilisées pour définir les propriétés liées à l'ensemble de la page JSP.
Format de syntaxe d'instruction JSP :
<%@ directive attribute="value" %>
Il existe trois balises d'instruction :
指令 | 描述 |
---|---|
<%@ page ... %> | 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等 |
<%@ include ... %> | 包含其他文件 |
<%@ taglib ... %> | 引入标签库的定义,可以是自定义标签 |
Comportement JSP
La balise de comportement JSP utilise la structure 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 adhère strictement à la norme XML :
<jsp:action_name attribute="value" />
Les balises de comportement sont essentiellement des fonctions prédéfinies. Le tableau suivant répertorie certaines balises de comportement JSP disponibles : <. 🎜>
Objets cachés JSP
JSP prend en charge neuf variables définies automatiquement, appelées objets cachés par les habitants du Jianghu. L'introduction de ces neuf objets cachés est présentée dans le tableau ci-dessous :
对象 | 描述 |
---|---|
request | HttpServletRequest类的实例 |
response | HttpServletResponse类的实例 |
out | PrintWriter类的实例,用于把结果输出至网页上 |
session | HttpSession类的实例 |
application | ServletContext类的实例,与应用上下文有关 |
config | ServletConfig类的实例 |
pageContext | PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问 |
page | 类似于Java类中的this关键字 |
Exception | Exception类的对象,代表发生错误的JSP页面中对应的异常对象 |
L'instruction de flux de contrôle
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.
Déclaration de jugement
Si… sinon bloque, veuillez consulter l'exemple suivant :
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%! int day = 3; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <h3>IF...ELSE 实例</h3> <% if (day == 1 | day == 7) { %> <p>今天是周末</p> <% } else { %> <p>今天不是周末</p> <% } %> </body> </html>
Après l'exécution, les résultats suivants sont obtenus :
IF...ELSE 实例 今天不是周末
Jetons maintenant un coup d'œil au commutateur …case bloc, qui est similaire à if Le bloc ...else est très différent. Il utilise out.println(), et l'intégralité du script est installée dans la balise du script, comme ceci :
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%! int day = 3; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <h3>SWITCH...CASE 实例</h3> <% switch(day) { case 0: out.println("星期天"); break; case 1: out.println("星期一"); break; case 2: out.println("星期二"); break; case 3: out.println("星期三"); break; case 4: out.println("星期四"); break; case 5: out.println("星期五"); break; default: out.println("星期六"); } %> </body> </html>
Accès au navigateur, après l'exécution, les résultats suivants sont obtenus :
SWITCH...CASE 实例 星期三
Instruction de boucle
Vous pouvez utiliser les trois types de boucles de base de Java dans les programmes JSP : for, while et do.. .alors que.
Jetons un coup d'œil à un exemple de boucle for, la sortie suivante du "site Web chinois php" avec différentes tailles de police :
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%! int fontSize; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <h3>For 循环实例</h3> <%for ( fontSize = 1; fontSize <= 3; fontSize++){ %> <font color="green" size="<%= fontSize %>"> php中文网 </font><br /> <%}%> </body> </html>
Après l'exécution, les résultats suivants sont obtenus :
Modifiez l'exemple ci-dessus pour utiliser une boucle while pour écrire :
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%! int fontSize; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <h3>While 循环实例</h3> <%while ( fontSize <= 3){ %> <font color="green" size="<%= fontSize %>"> php中文网 </font><br /> <%fontSize++;%> <%}%> </body> </html>accès au navigateur, le résultat de sortie est (fontSize est initialisé à 0, donc une ligne supplémentaire est affichée) :
Opérateurs JSP
JSP prend en charge tous les opérateurs logiques et arithmétiques Java.
Le tableau suivant répertorie les opérateurs JSP courants, avec une priorité de haut en bas :
Catégorie | Opérateur | Associativité |
---|---|---|
Suffixe | () [] . (opérateur point) | De gauche à droite |
Un dollar | ++ - - ! ~ | De droite à gauche |
Multipliabilité | * / % | De gauche à droite |
Additivité | + - | De gauche à droite |
Maj | >> >>> De gauche à droite | |
> >= < <= | De gauche à droite | |
== != | De gauche à droite | |
& | De gauche à droite | |
^ | De gauche à droite | |
| | De gauche à droite | |
ET logique | && | De gauche à droite |
OU logique | || | De gauche à droite |
Jugement conditionnel | ?: | De droite à gauche |
Devoir | = += -= *= /= %= >>= <<= &= ^= |= | De droite à gauche |
Virgule | , | De gauche à droite |
Littéraux JSP
Le langage JSP définit les littéraux suivants :
Booléen : vrai et faux ;
Type entier (int) : le même qu'en Java ;
Float : identique à Java ;
Chaîne : Commencez et terminez par des guillemets simples ou doubles
Nul : nul.