English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JSP 语法

Questa sezione introduce semplicemente la sintassi di base dello sviluppo JSP.

Programma di script

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:

Problemi di codifica cinese

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.

    Dichiarazione JSP

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); %>

    Espressione JSP

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

    Commento JSP

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

    Direttiva JSP

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:

Direttivadescrizione
                <%@ 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

    Etichetta di comportamento JSP

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::

sintassidescrizione
                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

    oggetti impliciti JSP

JSP supporta nove variabili automaticamente definite, conosciute come oggetti impliciti. Di seguito è riportata una breve descrizione di questi nove oggetti impliciti:

oggettodescrizione
                requestHttpServletRequestun esempio di classe
                responseHttpServletResponseun esempio di classe
                outPrintWriterun esempio di classe, utilizzata per inviare i risultati alla pagina web
                sessioneHttpSessionun esempio di classe
                applicationServletContextun esempio di classe, relativo al contesto dell'applicazione
                configServletConfigun esempio di classe
                pageContextPageContextun 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
                eccezioneeccezione l'oggetto della classe, che rappresenta l'oggetto di eccezione corrispondente alla pagina JSP con errore

    istruzioni di flusso di controllo

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.

    istruzioni di controllo

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 字面量

JSP语言定义了以下几个字面量:

  •             布尔值(boolean):true 和 false;

  •             整型(int):与 Java 中的一样;

  •             浮点型(float):与 Java 中的一样;

  •             字符串(string):以单引号或双引号开始和结束;

  •             Null:null。