Une page JSP peut être composée de plusieurs éléments :
Texte statique (texte, html, xml, ...)
Éléments
Directives (syntaxe : <%@ ... %>)
Scripts
JSP scripts
Expressions (syntaxe : <%= ... %>)
Scriptlets (syntaxe : <% ... %>)
Déclarations (syntaxe : <%! ... %>)
Commentaires (syntaxe : <%-- ... --%>)
EL
Actions
JSP actions
Personnalisées
Texte statique
Toute partie du code de la page JSP qui n'est pas traduite en un code Java.
Directives : <%@ ... %>
Une directive peut être utilisée pour effectuer des tâches bien précises, comme par exemple importer des classes ou inclure des fichiers.
<%@ page import="java.util.*" %>
Expressions : <%= ... %>
Une expression est une instruction Java dont le résultat sera affiché en sortie de la page JSP.
Il ne faut pas ajouter un point virgule à la fin de l'expression.
Le code Java généré pour l'expression sera placé à l'intérieur de la méthode _jspService.
Exemple:
<%= 5/2 %>
Le code Java généré :
getOut().write(5/2);
Si l'expression ne retourne aucune valeur (exemple un appel de méthode qui retourne void), la traduction de la page JSP va échouer.
Scriptlets : <% ... %>
Les scriptlets correspondent à un code java qui sera placé sans aucune modification à l'intérieur de la méthode _jspService.
Il est important d'ajouter un point virgule à la fin de chaque instruction.
Exemple:
<%
int v1 = 5;
int v2 = 5;
%>
Déclarations : <%! ... %>
Le code sera placé à l'extérieur de la méthode _jspService.
Généralement le code doit être des :
- déclarations des variables d'instances ou statique,
- déclarations des méthodes d'instance ou statique,
- blocs de code d'initialisation,
- ...,
Il est possible d'utiliser les déclarations pour définir des méthodes qui peuvent redéfinir les méthodes des superclasses.
Mais il faut noter que le code des déclarations n'as pas accès aux objets implicites disponibles normalement à l'intérieur de la méthode _jspService.