国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

jsp在線參考手冊(cè) / JSP 語(yǔ)法

JSP 語(yǔ)法

本小節(jié)將會(huì)簡(jiǎn)單地介紹一下JSP開發(fā)中的基礎(chǔ)語(yǔ)法。


腳本程序

腳本程序可以包含任意量的Java語(yǔ)句、變量、方法或表達(dá)式,只要它們?cè)谀_本語(yǔ)言中是有效的。

腳本程序的語(yǔ)法格式:

<% 代碼片段 %>

或者,您也可以編寫與其等價(jià)的XML語(yǔ)句,就像下面這樣:

<jsp:scriptlet>
   代碼片段
</jsp:scriptlet>

任何文本、HTML標(biāo)簽、JSP元素必須寫在腳本程序的外面。

下面給出一個(gè)示例,同時(shí)也是本教程的第一個(gè)JSP示例:

<html>
<head><title>Hello World</title></head>
<body>
Hello World!<br/>
<%
out.println("Your IP address is " + request.getRemoteAddr());
%>
</body>
</html>

注意:請(qǐng)確保Apache Tomcat已經(jīng)安裝在C:\apache-tomcat-7.0.2目錄下并且運(yùn)行環(huán)境已經(jīng)正確設(shè)置。

將以上代碼保存在hello.jsp中,然后將它放置在 C:\apache-tomcat-7.0.2\webapps\ROOT目錄下,打開瀏覽器并在地址欄中輸入http://localhost:8080/hello.jsp。運(yùn)行后得到以下結(jié)果:

jsp_hello_world.jpg

中文編碼問(wèn)題

如果我們要在頁(yè)面正常顯示中文,我們需要在 JSP 文件頭部添加以下代碼:<>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

解析來(lái)我們將以上程序修改為:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
Hello World!<br/>
<%
out.println("你的 IP 地址 " + request.getRemoteAddr());
%>
</body>
</html>

這樣中文就可以正常顯示了。


        JSP聲明

一個(gè)聲明語(yǔ)句可以聲明一個(gè)或多個(gè)變量、方法,供后面的Java代碼使用。在JSP文件中,您必須先聲明這些變量和方法然后才能使用它們。

JSP聲明的語(yǔ)法格式:

<%! declaration; [ declaration; ]+ ... %>

或者,您也可以編寫與其等價(jià)的XML語(yǔ)句,就像下面這樣:

<jsp:declaration>
   代碼片段
</jsp:declaration>

程序示例:

<%! int i = 0; %> 
<%! int a, b, c; %> 
<%! Circle a = new Circle(2.0); %>

        JSP表達(dá)式

一個(gè)JSP表達(dá)式中包含的腳本語(yǔ)言表達(dá)式,先被轉(zhuǎn)化成String,然后插入到表達(dá)式出現(xiàn)的地方。

由于表達(dá)式的值會(huì)被轉(zhuǎn)化成String,所以您可以在一個(gè)文本行中使用表達(dá)式而不用去管它是否是HTML標(biāo)簽。

表達(dá)式元素中可以包含任何符合Java語(yǔ)言規(guī)范的表達(dá)式,但是不能使用分號(hào)來(lái)結(jié)束表達(dá)式。

JSP表達(dá)式的語(yǔ)法格式:

<%= 表達(dá)式 %>

同樣,您也可以編寫與之等價(jià)的XML語(yǔ)句:

<jsp:expression>
   表達(dá)式
</jsp:expression>

程序示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<p>
   今天的日期是: <%= (new java.util.Date()).toLocaleString()%>
</p>
</body> 
</html>

運(yùn)行后得到以下結(jié)果:

今天的日期是: 2016-6-25 13:40:07

        JSP注釋

JSP注釋主要有兩個(gè)作用:為代碼作注釋以及將某段代碼注釋掉。

JSP注釋的語(yǔ)法格式:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<%-- 該部分注釋在網(wǎng)頁(yè)中不會(huì)被顯示--%> 
<p>
   今天的日期是: <%= (new java.util.Date()).toLocaleString()%>
</p>
</body> 
</html>

運(yùn)行后得到以下結(jié)果:

今天的日期是: 2016-6-25 13:41:26

不同情況下使用注釋的語(yǔ)法規(guī)則:

語(yǔ)法                    描述
                    <%-- 注釋 --%>                    JSP注釋,注釋內(nèi)容不會(huì)被發(fā)送至瀏覽器甚至不會(huì)被編譯
                    <!-- 注釋 -->                    HTML注釋,通過(guò)瀏覽器查看網(wǎng)頁(yè)源代碼時(shí)可以看見注釋內(nèi)容
                    <\%                    代表靜態(tài) <%常量
                    %\>                    代表靜態(tài) %> 常量
                    \'                    在屬性中使用的單引號(hào)
                    \"                    在屬性中使用的雙引號(hào)

        JSP指令

JSP指令用來(lái)設(shè)置與整個(gè)JSP頁(yè)面相關(guān)的屬性。

JSP指令語(yǔ)法格式:

<%@ directive attribute="value" %>

這里有三種指令標(biāo)簽:

指令描述
                    <%@ page ... %>                    定義頁(yè)面的依賴屬性,比如腳本語(yǔ)言、error頁(yè)面、緩存需求等等
                    <%@ include ... %>                    包含其他文件
                    <%@ taglib ... %>                    引入標(biāo)簽庫(kù)的定義,可以是自定義標(biāo)簽

        JSP行為

JSP行為標(biāo)簽使用XML語(yǔ)法結(jié)構(gòu)來(lái)控制servlet引擎。它能夠動(dòng)態(tài)插入一個(gè)文件,重用JavaBean組件,引導(dǎo)用戶去另一個(gè)頁(yè)面,為Java插件產(chǎn)生相關(guān)的HTML等等。

行為標(biāo)簽只有一種語(yǔ)法格式,它嚴(yán)格遵守XML標(biāo)準(zhǔn):

<jsp:action_name attribute="value" />

行為標(biāo)簽基本上是一些預(yù)先就定義好的函數(shù),下表羅列出了一些可用的JSP行為標(biāo)簽::

語(yǔ)法描述
                    jsp:include                    用于在當(dāng)前頁(yè)面中包含靜態(tài)或動(dòng)態(tài)資源
                    jsp:useBean                    尋找和初始化一個(gè)JavaBean組件
                    jsp:setProperty                    設(shè)置 JavaBean組件的值
                    jsp:getProperty                    將 JavaBean組件的值插入到 output中
                    jsp:forward                    從一個(gè)JSP文件向另一個(gè)文件傳遞一個(gè)包含用戶請(qǐng)求的request對(duì)象
                    jsp:plugin                    用于在生成的HTML頁(yè)面中包含Applet和JavaBean對(duì)象
                    jsp:element                    動(dòng)態(tài)創(chuàng)建一個(gè)XML元素
                    jsp:attribute                    定義動(dòng)態(tài)創(chuàng)建的XML元素的屬性
                    jsp:body                    定義動(dòng)態(tài)創(chuàng)建的XML元素的主體
                    jsp:text                    用于封裝模板數(shù)據(jù)

        JSP隱含對(duì)象

JSP支持九個(gè)自動(dòng)定義的變量,江湖人稱隱含對(duì)象。這九個(gè)隱含對(duì)象的簡(jiǎn)介見下表:

對(duì)象描述
                    requestHttpServletRequest類的實(shí)例
                    responseHttpServletResponse類的實(shí)例
                    outPrintWriter類的實(shí)例,用于把結(jié)果輸出至網(wǎng)頁(yè)上
                    sessionHttpSession類的實(shí)例
                    applicationServletContext類的實(shí)例,與應(yīng)用上下文有關(guān)
                    configServletConfig類的實(shí)例
                    pageContextPageContext類的實(shí)例,提供對(duì)JSP頁(yè)面所有對(duì)象以及命名空間的訪問(wèn)
                    page                    類似于Java類中的this關(guān)鍵字
                    ExceptionException類的對(duì)象,代表發(fā)生錯(cuò)誤的JSP頁(yè)面中對(duì)應(yīng)的異常對(duì)象

        控制流語(yǔ)句

JSP提供對(duì)Java語(yǔ)言的全面支持。您可以在JSP程序中使用Java API甚至建立Java代碼塊,包括判斷語(yǔ)句和循環(huán)語(yǔ)句等等。

        判斷語(yǔ)句

If…else塊,請(qǐng)看下面這個(gè)例子:

<%@ 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中文網(wǎng)(php.cn)</title>
</head>
<body>
<h3>IF...ELSE 實(shí)例</h3>
<% if (day == 1 | day == 7) { %>
      <p>今天是周末</p>
<% } else { %>
      <p>今天不是周末</p>
<% } %>
</body> 
</html>

運(yùn)行后得到以下結(jié)果:

IF...ELSE 實(shí)例
今天不是周末

現(xiàn)在來(lái)看看switch…case塊,與if…else塊有很大的不同,它使用out.println(),并且整個(gè)都裝在腳本程序的標(biāo)簽中,就像下面這樣:

<%@ 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中文網(wǎng)(php.cn)</title>
</head>
<body>
<h3>SWITCH...CASE 實(shí)例</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>

瀏覽器訪問(wèn),運(yùn)行后得出以下結(jié)果:

SWITCH...CASE 實(shí)例

星期三

循環(huán)語(yǔ)句

在JSP程序中可以使用Java的三個(gè)基本循環(huán)類型:for,while,和 do…while。

讓我們來(lái)看看for循環(huán)的例子,以下輸出的不同字體大小的"php中文網(wǎng)":

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%! int fontSize; %> 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<h3>For 循環(huán)實(shí)例</h3>
<%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
   <font color="green" size="<%= fontSize %>">
    php中文網(wǎng)
   </font><br />
<%}%>
</body> 
</html>

運(yùn)行后得到以下結(jié)果:

7B4B85CF-FE4B-43CB-AAFF-F8594AD4342C.jpg

將上例改用while循環(huán)來(lái)寫:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%! int fontSize; %> 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<h3>While 循環(huán)實(shí)例</h3>
<%while ( fontSize <= 3){ %>
   <font color="green" size="<%= fontSize %>">
    php中文網(wǎng)
   </font><br />
<%fontSize++;%>
<%}%>
</body> 
</html>
瀏覽器訪問(wèn),輸出結(jié)果為(fontSize 初始化為0,所以多輸出了一行):

7B4B85CF-FE4B-43CB-AAFF-F8594AD4342C.jpg

JSP運(yùn)算符

JSP支持所有Java邏輯和算術(shù)運(yùn)算符。

下表羅列出了JSP常見運(yùn)算符,優(yōu)先級(jí)從高到底:

類別操作符結(jié)合性
                    后綴                    () [] . (點(diǎn)運(yùn)算符)                    左到右
                    一元                    ++ - - ! ~                    右到左
                    可乘性                    * / %                     左到右
                    可加性                    + -                     左到右
                    移位                    >> >>> <<                      左到右 
                    關(guān)系                    > >= < <=                      左到右
                    相等/不等                    == !=                     左到右
                    位與                    &                     左到右
                    位異或                    ^                     左到右
                    位或                    |                     左到右
                    邏輯與                    &&                     左到右
                    邏輯或                    ||                     左到右
                    條件判斷                    ?:                     右到左
                    賦值                    = += -= *= /= %= >>= <<= &= ^= |=                     右到左
                    逗號(hào)                     ,                     左到右 

        JSP 字面量

JSP語(yǔ)言定義了以下幾個(gè)字面量:

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

  •                 整型(int):與 Java 中的一樣;

  •                 浮點(diǎn)型(float):與 Java 中的一樣;

  •                 字符串(string):以單引號(hào)或雙引號(hào)開始和結(jié)束;

  •                 Null:null。