English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Questa sezione introduce semplicemente la sintassi di base dello sviluppo JSP.
Il programma di script può contenere una quantità qualsiasi di istruzioni Java, variabili, metodi o espressioni, purché siano validi nel linguaggio di script.
Formato della sintassi del programma di script:
<% codice frammentario %>
Ora, puoi anche scrivere una dichiarazione XML equivalente, come segue:
<jsp:scriptlet> frammento di codice </jsp:scriptlet>
Qualsiasi testo, tag HTML, elemento JSP deve essere scritto al di fuori del programma di script.
Di seguito è riportato un esempio, che è anche il primo esempio JSP di questa guida:
<html> <head><title>Hello World</title></head> <body> Hello World!<br/> <% out.println("Il tuo indirizzo IP è " + request.getRemoteAddr()); %> </body> </html>
Attenzione:Assicurati che Apache Tomcat sia installato nella directory C:\apache-tomcat-7.0.2 e che l'ambiente di esecuzione sia configurato correttamente.
Salva il seguente codice in hello.jsp e mettilo nella directory C:\apache-tomcat-7.0.2\webapps\ROOT. Apri il browser e inserisci l'indirizzo http://localhost:8080/hello.jsp nella barra degli indirizzi. Dopo aver eseguito, ottieni il seguente risultato:
Per visualizzare correttamente il cinese nella pagina, devi aggiungere il seguente codice nella testa del file JSP:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
Modificheremo ora il seguente programma:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基础教程网(oldtoolbag.com)</title> </head> <body> Hello World!<br/> <% out.println("Il tuo indirizzo IP " + request.getRemoteAddr()); %> </body> </html>
In questo modo, il cinese può essere visualizzato correttamente.
Una dichiarazione può dichiarare una o più variabili, metodi, che possono essere utilizzati nel codice Java successivo. In un file JSP, devi dichiarare queste variabili e metodi prima di essere in grado di utilizzarli.
Formato della sintassi delle dichiarazioni JSP:
<%! declaration; [ declaration; ]+ ... %>
Ora, puoi anche scrivere una dichiarazione XML equivalente, come segue:
<jsp:declaration> frammento di codice </jsp:declaration>
Esempio di programma:
<%! int i = 0; %> <%! int a, b, c; %> <%! Circle a = new Circle(2.0); %>
Un'espressione di linguaggio di script inclusa in un'espressione JSP viene prima trasformata in String e poi inserita nel punto di apparizione dell'espressione.
Poiché il valore dell'espressione viene trasformato in String, puoi utilizzare l'espressione in una riga di testo senza preoccuparti se è un tag HTML o meno.
Un elemento di espressione può contenere qualsiasi espressione che soddisfi lo standard del linguaggio Java, ma non può utilizzare il punto e virgola per terminare l'espressione.
Formato di sintassi dell'espressione JSP:
<%= espressione %>
Anche se, puoi scrivere una dichiarazione XML equivalente:
<jsp:expression> Espressione </jsp:expression>
Esempio di programma:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基础教程网(oldtoolbag.com)</title> </head> <body> <p> La data di oggi è: 2016-6-25 13:41:26 </p> </body> </html>
运行后得到以下结果:
La data di oggi è: 2016-6-25 13:40:07
I commenti JSP hanno due principali funzioni: commentare il codice e commentare una parte di codice.
Formato di sintassi dei commenti JSP:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基础教程网(oldtoolbag.com)</title> </head> <body> <%-- Questa parte del commento non viene visualizzata nella pagina web --%> <p> La data di oggi è: 2016-6-25 13:41:26 </p> </body> </html>
运行后得到以下结果:
La data di oggi è: 2016-6-25 13:41:26
Regole di sintassi per l'uso dei commenti in diverse situazioni:
sintassi | descrizione |
---|---|
<%-- Commento --%> | Commento JSP, il contenuto dei commenti non viene inviato al browser né compilato |
<!-- Commento --> | Commento HTML, il contenuto dei commenti è visibile nel codice sorgente della pagina web visualizzato tramite il browser |
<\% | Rappresenta la costante statica <% |
%\> | Rappresenta la costante statica %> |
\' | Virgolette singole utilizzate negli attributi |
\" | Virgolette doppie utilizzate negli attributi |
Le direttive JSP vengono utilizzate per impostare le proprietà correlate a tutta la pagina JSP.
Formato di sintassi delle direttive JSP:
<%@ directive attribute="value" %>
Ci sono tre etichette direttive qui:
Direttiva | descrizione |
---|---|
<%@ page ... %> | Definire le proprietà dipendenti della pagina, come il linguaggio di script, la pagina di errore, le esigenze di cache, ecc. |
<%@ include ... %> | Includere altri file |
<%@ taglib ... %> | Introduzione della definizione della libreria di etichette, può essere un'etichetta personalizzata |
L'etichetta di comportamento JSP utilizza la struttura di sintassi XML per controllare il motore servlet. Può inserire dinamicamente un file, riutilizzare componenti JavaBean, indirizzare l'utente a un'altra pagina, generare HTML correlato per i plugin Java, ecc.
I tag di comportamento hanno un solo formato di sintassi, che segue rigorosamente lo standard XML:}}
<jsp:action_name attribute="value" />
i tag di comportamento sono基本上是一些预先定义好的函数, la tabella seguente elenca alcuni tag di comportamento JSP disponibili::
sintassi | descrizione |
---|---|
jsp:include | usato per includere risorse statiche o dinamiche nella pagina corrente |
jsp:useBean | cerca e inizializza un componente JavaBean |
jsp:setProperty | imposta il valore del componente JavaBean |
jsp:getProperty | inserisce il valore del componente JavaBean nel output |
jsp:forward | trasmette un oggetto request contenente la richiesta utente da un file JSP a un altro file |
jsp:plugin | usato per includere oggetti Applet e JavaBean nel pagina HTML generata |
jsp:element | crea un elemento XML dinamicamente |
jsp:attribute | definisce le proprietà dell'elemento XML creato dinamicamente |
jsp:body | definisce il corpo dell'elemento XML creato dinamicamente |
jsp:text | usato per incapsulare i dati del modello |
JSP supporta nove variabili automaticamente definite, conosciute come oggetti impliciti. Di seguito è riportata una breve descrizione di questi nove oggetti impliciti:
oggetto | descrizione |
---|---|
request | HttpServletRequestun esempio di classe |
response | HttpServletResponseun esempio di classe |
out | PrintWriterun esempio di classe, utilizzata per inviare i risultati alla pagina web |
sessione | HttpSessionun esempio di classe |
application | ServletContextun esempio di classe, relativo al contesto dell'applicazione |
config | ServletConfigun esempio di classe |
pageContext | PageContextun esempio di classe, che fornisce l'accesso a tutti gli oggetti della pagina JSP e agli spazi dei nomi |
pagina | simile al nome chiave this nelle classi Java |
eccezione | eccezione l'oggetto della classe, che rappresenta l'oggetto di eccezione corrispondente alla pagina JSP con errore |
JSP offre un supporto completo per il linguaggio Java. Puoi utilizzare API Java in un programma JSP e anche creare blocchi di codice Java, inclusi istruzioni di controllo e istruzioni di ciclo, ecc.
Il blocco if…else, vedi l'esempio seguente:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% int day = 3; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基础教程(oldtoolbag.com)</title> </head> <body> <h2>ESEMPI IF...ELSE</h2> <% se giorno == 1 || giorno == 7 %> <p>今天是周末</p> <% } else { %> <p>今天不是周末</p> <% } %> </body> </html>
运行后得到以下结果:
IF...ELSE 示例 今天不是周末
现在来看看switch…case块,与if…else块有很大的不同,它使用out.println(),并且整个都装在脚本程序的标签中,就像下面这样:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% int day = 3; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基础教程(oldtoolbag.com)</title> </head> <body> <h2>SWITCH...CASE 示例</h2> <% 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>
浏览器访问,运行后得出以下结果:
SWITCH...CASE 示例 星期三
在JSP程序中可以使用Java的三个基本循环类型:for,while,和 do…while。
让我们来看看for循环的实例,以下输出的不同字体大小的"基础教程网":
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% int fontSize; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基础教程网(oldtoolbag.com)</title> </head> <body> <h2>For 循环示例</h2> <% for (fontSize = 1; fontSize <= 3; fontSize++) { %> <font color="green" size="<%= fontSize %>"> 教程基础知识 </font><br /> <%}%> </body> </html>
运行后得到以下结果:
将上例改用 while 循环来写:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% int fontSize = 0; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基础教程(oldtoolbag.com)</title> </head> <body> <h2>While 循环示例</h2> <%while ( fontSize <= 3){ %> <font color="green" size="<%= fontSize %>"> 教程基础知识 </font><br /> <%fontSize++;%> <%}%> </body> </html>
浏览器访问,输出结果为(fontSize 初始化为0,所以多输出了一行):
JSP运算符
JSP支持所有Java逻辑和算术运算符。
下表列出了JSP常见运算符,优先级从高到低:
类别 | 操作符 | 结合性 |
---|---|---|
后缀 | ( ) [] . (点运算符) | 从左到右 |
一元 | ++ - - ! ~ | 从右到左 |
可乘性 | * / % | 从左到右 |
可加性 | + - | 从左到右 |
移位 | >> >>> << | 从左到右 |
关系 | > >= < <= | 从左到右 |
相等/不等 | == != | 从左到右 |
位与 | & | 从左到右 |
位异或 | ^ | 从左到右 |
位或 | | | 从左到右 |
逻辑与 | && | 从左到右 |
逻辑或 | || | 从左到右 |
条件判断 | ?: | 从右到左 |
赋值 | = += -= *= /= %= >>= <<= &= ^= |= | 从右到左 |
逗号 | , | 从左到右 |
JSP语言定义了以下几个字面量:
布尔值(boolean):true 和 false;
整型(int):与 Java 中的一样;
浮点型(float):与 Java 中的一样;
字符串(string):以单引号或双引号开始和结束;
Null:null。