In diesem Abschnitt wird kurz die grundlegende Syntax der JSP-Entwicklung vorgestellt.
Ein Skriptprogramm kann beliebig viele Java-Anweisungen, Variablen, Methoden oder Ausdrücke enthalten, sofern diese in der Skriptsprache gültig sind.
Das Syntaxformat des Skriptprogramms:
<% Code-Snippet%>
Alternativ können Sie die entsprechende XML-Anweisung wie folgt schreiben:
<jsp:scriptlet> Code-Snippet</jsp:scriptlet>
Alle Texte, HTML-Tags und JSP-Elemente müssen außerhalb des Skriptprogramms geschrieben werden.
Nachfolgend finden Sie ein Beispiel, das auch das erste JSP-Beispiel dieses Tutorials ist:
<html><head><title>Hallo Welt</title></head><body>Hallo Welt!<br/><% out.println("Ihre IP-Adresse ist " + request.getRemoteAddr() %); ></body></html>
Hinweis: Bitte stellen Sie sicher, dass Apache Tomcat im Verzeichnis C:apache-tomcat-7.0.2 installiert wurde und die Laufumgebung korrekt eingerichtet wurde.
Speichern Sie den obigen Code in hello.jsp, legen Sie ihn dann im Verzeichnis C:apache-tomcat-7.0.2webappsROOT ab, öffnen Sie den Browser und geben Sie http://localhost:8080/hello in die Adressleiste .jsp ein . Nach dem Ausführen erhalte ich folgende Ergebnisse:
Eine Deklarationsanweisung kann eine oder mehrere Variablen und Methoden zur Verwendung durch nachfolgenden Java-Code deklarieren. In einer JSP-Datei müssen Sie diese Variablen und Methoden deklarieren, bevor Sie sie verwenden können.
Das Syntaxformat der JSP-Deklaration:
<%! Deklaration; [ Deklaration ]+ ... %>
Alternativ können Sie die entsprechende XML-Anweisung wie folgt schreiben:
<jsp:declaration>Codeausschnitt</jsp:declaration>
Programmbeispiel:
<%! int i = 0; %> <%! int a, b, c;
Der in einem JSP-Ausdruck enthaltene Skriptsprachenausdruck wird zunächst in einen String konvertiert und dann an der Stelle eingefügt, an der der Ausdruck erscheint.
Da der Wert des Ausdrucks in einen String umgewandelt wird, können Sie den Ausdruck in einer Textzeile verwenden, unabhängig davon, ob es sich um ein HTML-Tag handelt.
Das Ausdruckselement kann jeden Ausdruck enthalten, der der Java-Sprachspezifikation entspricht, ein Semikolon kann jedoch nicht zum Beenden des Ausdrucks verwendet werden.
Syntaxformat des JSP-Ausdrucks:
<%= Ausdruck%>
Ebenso können Sie die entsprechende XML-Anweisung schreiben:
<jsp:expression> Ausdruck</jsp:expression>
Programmbeispiel:
<html> <head><title>Ein Kommentartest</title></head> <body><p> Heutiges Datum: <%= (new java.util.Date()).toLocaleString()%></ p></body> </html>
Nach dem Ausführen erhalte ich folgende Ergebnisse:
Heutiges Datum: 11.09.2013 21:24:25
JSP-Kommentare haben zwei Hauptfunktionen: das Kommentieren des Codes und das Auskommentieren eines bestimmten Codeabschnitts.
Das Syntaxformat von JSP-Kommentaren:
<%-- Hier können Sie JSP-Kommentare ausfüllen--%>
Programmbeispiel:
<html> <head><title>Ein Kommentartest</title></head> <body> <h2>Ein Kommentartest</h2> <%-- Dieser Teil der Kommentare wird nicht im Web angezeigt Seite-- %> </body> </html>
Nach dem Ausführen erhalte ich folgende Ergebnisse:
Ein Test der Kommentare
Grammatikregeln für die Verwendung von Kommentaren in verschiedenen Situationen:
Grammatik | beschreiben |
---|---|
<%--Comment--%> | Bei JSP-Kommentaren wird der Kommentarinhalt nicht an den Browser gesendet oder gar kompiliert |
<!-- Kommentare --> | HTML-Kommentare: Sie können den Kommentarinhalt sehen, wenn Sie den Quellcode der Webseite über den Browser anzeigen |
<% | Stellt eine statische <%-Konstante dar |
%> | Stellt eine statische %>-Konstante dar |
' | In Attributen werden einfache Anführungszeichen verwendet |
" | In Attributen werden doppelte Anführungszeichen verwendet |
JSP-Direktiven werden verwendet, um Eigenschaften festzulegen, die sich auf die gesamte JSP-Seite beziehen.
Syntaxformat der JSP-Anweisung:
<%@ Direktive attribute="value" %>
Es gibt drei Direktiven-Tags:
Anweisung | beschreiben |
---|---|
<%@ Seite ... %> | Definieren Sie die Abhängigkeitsattribute der Seite, z. B. Skriptsprache, Fehlerseite, Cache-Anforderungen usw. |
<%@ include ... %> | andere Dateien einschließen |
<%@ taglib ... %> | Stellen Sie die Definition der Tag-Bibliothek vor, bei der es sich um ein benutzerdefiniertes Tag handeln kann |
JSP-Verhaltenstags verwenden XML-Syntaxstrukturen zur Steuerung der Servlet-Engine. Es kann eine Datei dynamisch einfügen, JavaBean-Komponenten wiederverwenden, den Benutzer zu einer anderen Seite führen, relevanten HTML-Code für Java-Plug-Ins generieren und vieles mehr.
Verhaltens-Tags haben nur ein Syntaxformat, das sich strikt an den XML-Standard hält:
<jsp:action_name attribute="value" />
Verhaltens-Tags sind im Grunde einige vordefinierte Funktionen. In der folgenden Tabelle sind einige der verfügbaren JSP-Verhaltens-Tags aufgeführt:
Grammatik | beschreiben |
---|---|
jsp:include | Wird verwendet, um statische oder dynamische Ressourcen in die aktuelle Seite einzubinden |
jsp:useBean | Suchen und initialisieren Sie eine JavaBean-Komponente |
jsp:setProperty | Legen Sie den Wert der JavaBean-Komponente fest |
jsp:getProperty | Fügen Sie den Wert der JavaBean-Komponente in die Ausgabe ein |
jsp:weiterleiten | Übergeben Sie ein Anforderungsobjekt, das die Anforderung des Benutzers enthält, von einer JSP-Datei an eine andere |
jsp:plugin | Wird verwendet, um Applet- und JavaBean-Objekte in generierte HTML-Seiten einzubinden |
jsp:element | Erstellen Sie dynamisch ein XML-Element |
jsp:Attribut | Definieren Sie Attribute dynamisch erstellter XML-Elemente |
jsp:body | Definiert den Hauptteil eines dynamisch erstellten XML-Elements |
jsp:text | Wird zum Kapseln von Vorlagendaten verwendet |
JSP unterstützt neun automatisch definierte Variablen, sogenannte implizite Objekte. Eine Einführung in diese neun impliziten Objekte finden Sie in der folgenden Tabelle:
Objekt | beschreiben |
---|---|
Anfrage | Instanz der HttpServletRequest- Klasse |
Antwort | Instanz der HttpServletResponse -Klasse |
aus | Eine Instanz der PrintWriter -Klasse, die zur Ausgabe von Ergebnissen auf einer Webseite verwendet wird |
Sitzung | Instanz der HttpSession- Klasse |
Anwendung | Eine Instanz der ServletContext -Klasse, die sich auf den Anwendungskontext bezieht |
config | Instanz der ServletConfig- Klasse |
pageContext | Eine Instanz der PageContext- Klasse, die Zugriff auf alle Objekte und Namespaces der JSP-Seite bietet |
Seite | Ähnlich wie dieses Schlüsselwort in Java-Klassen |
Ausnahme | Ein Objekt der Exception -Klasse stellt das entsprechende Ausnahmeobjekt auf der JSP-Seite dar, auf der der Fehler aufgetreten ist. |
JSP bietet vollständige Unterstützung für die Java-Sprache. Sie können die Java-API in JSP-Programmen verwenden und sogar Java-Codeblöcke erstellen, einschließlich Beurteilungsanweisungen und Schleifenanweisungen usw.
If...else-Block, siehe dieses Beispiel:
<%! int day = 3; %> <html> <head><title>IF...ELSE Beispiel</title></head> <body><% if (day == 1 | day == 7) { %> <p> Heute ist Wochenende</p><% } else { %> <p> Heute ist kein Wochenende</p><% } %></body> </html>
Nach dem Ausführen erhalte ich folgende Ergebnisse:
Heute ist kein Wochenende
Schauen wir uns nun den switch...case-Block an. Er unterscheidet sich stark vom if...else-Block. Er verwendet out.println() und ist vollständig im Tag des Skripts enthalten:
<%! int day = 3; %> <html> <head><title>SWITCH...CASE Beispiel</title></head> <body><% switch(day) { case 0: out.println( „Es ist Sonntag.“); break; Fall 3: out.println("Es ist Mittwoch."); break; case 4: out.println("Es ist Donnerstag."); ); break; default: out.println("Es ist Samstag." } %></body> </html>
Nach dem Ausführen werden folgende Ergebnisse erzielt:
Es ist Mittwoch.
Schleifenanweisung
Die drei grundlegenden Schleifentypen von Java können in JSP-Programmen verwendet werden: for, while und do...while.
Schauen wir uns ein Beispiel einer for-Schleife an:
<%! int fontSize; %> <html> <head><title>FOR LOOP-Beispiel</title></head> <body><%for ( FontSize = 1; FontSize <= 3; FontSize++){ %> < font color="green" size="<%= fontSize %>"> JSP-Tutorial </font><br /><%}%></body> </html>
Nach dem Ausführen erhalte ich folgende Ergebnisse:
JSP-TutorialJSP-Tutorial JSP-TutorialSchreiben Sie das obige Beispiel mit einer while-Schleife um:
<%! intfontSize; %> <head><title>WHILE LOOP-Beispiel</title></head> <body><%while (fontSize <= 3){ %> <font color="green" size="<%= fontSize %>"> JSP-Tutorial </font><br /><%fontSize++;%><%}%></body> </html>
Nach dem Ausführen erhalte ich das gleiche Ergebnis:
JSP-TutorialJSP-Tutorial JSP-TutorialJSP unterstützt alle logischen und arithmetischen Java-Operatoren.
In der folgenden Tabelle sind gängige JSP-Operatoren in der Reihenfolge ihrer Priorität aufgeführt:
Kategorie | Operator | Assoziativität |
---|---|---|
Suffix | () [] . (Punktoperator) | von links nach rechts |
ein Yuan | ++ - - ! ~ | von rechts nach links |
Multiplikationsfähigkeit | */% | von links nach rechts |
Additivität | + - | von links nach rechts |
Schicht | >> >>> << | von links nach rechts |
Beziehung | > >= < <= | von links nach rechts |
gleich/ungleich | == != | von links nach rechts |
Bit UND | & | von links nach rechts |
Bit-XOR | ^ | von links nach rechts |
bisschen oder | | | von links nach rechts |
logisches UND | && | von links nach rechts |
logisch oder | || | von links nach rechts |
Bedingtes Urteil | ?: | von rechts nach links |
Abtretung | = += -= *= /= %= >>= <<= &= ^= |= | von rechts nach links |
Komma | , | von links nach rechts |
Die JSP-Sprache definiert die folgenden Konstanten:
Boolescher Wert: wahr und falsch;
Integer-Typ (int): derselbe wie in Java;
Float: das gleiche wie in Java;
Zeichenfolge: beginnt und endet mit einfachen oder doppelten Anführungszeichen;
Null: null.