JSP語法


1 JSP 語法

腳本程序可以包含任意量的Java語句、變量、方法或表達式,只要它們在腳本語言中是有效的。

 

腳本程序的語法格式:

<% 代碼片段 %>

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

<jsp:scriptlet>

   代碼片段

</jsp:scriptlet>

 

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

第一個JSP示例:

<html>

<head><title>Hello World</title></head>

<body>

Hello World!<br/>

<%

out.println("Your IP address is " + request.getRemoteAddr());

%>

</body>

</html>

 

1-1中文編碼問題

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

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

    pageEncoding="UTF-8"%>

 

接下來我們將以上程序修改為:

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

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>sxt教程</title>

</head>

<body>

Hello World!<br/>

<%

out.println("你的 IP 地址 " + request.getRemoteAddr());

%>

</body>

</html>

 

1-2 JSP聲明

一個聲明語句可以聲明一個或多個變量、方法,供后面的Java代碼使用。

JSP文件中,您必須聲明這些變量和方法然后才能使用它們。

 

JSP聲明的語法格式:<%變量 %>

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

 

 

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

<jsp:declaration>

   代碼片段

</jsp:declaration>

 

 

程序示例:

<%! int i = 0; %>

<%! int a, b, c; %>

<%! Circle a = new Circle(2.0); %>

 

 

1-3 JSP表達式

<%= 表達式 %>

一個JSP表達式中包含的腳本語言表達式,先被轉化成String,然后插入到表達式出現地方。

 

由於表達式的值會被轉化成String,所以您可以在一個文本行中使用表達式用去管它是否是HTML標簽

 

注意:

表達式元素中可以包含任何符合Java語言規范的表達式,但是不能使用分號來結束表達式

 

JSP表達式的語法格式:

<%= 表達式 %>

 

同樣,您也可以編寫與之等價的XML語句:

<jsp:expression>

   表達式

</jsp:expression>

 

 

程序示例:

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

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>sxt教程</title>

</head>

<body>

<p>

   今天的日期是: <%= (new java.util.Date()).toLocaleString()%>

</p>

</body>

</html>

 

1-4 JSP注釋

1-4-1 JSP注釋主要有兩個作用:1為代碼作注釋以及2將某段代碼注釋掉

1-4-2 JSP注釋的語法格式:

<%-- 該部分注釋在網頁中不會被顯示--%>

 

1-4-3不同情況下使用注釋的語法規則:

1<%-- 注釋 --%> JSP注釋,注釋內容不會被發送至瀏覽器甚至不會被編譯

2<!-- 注釋 --> HTML注釋,通過瀏覽器查看網頁源代碼時可以看見注釋內容

 

1-5 JSP指令

JSP指令用來設置與整個JSP頁面相關的屬性。

 

JSP指令語法格式:

<%@ directive attribute="value" %>

 

這里有三種指令標簽:

1 指令 描述
2 
3 <%@ page ... %> 定義頁面的依賴屬性,比如腳本語言、error頁面、緩存需求等等
4 
5 <%@ include ... %> 包含其他文件
6 
7 <%@ taglib ... %> 引入標簽庫的定義,可以是自定義標簽

 

1-6 JSP行為

JSP行為標簽使用XML語法結構來控制servlet引擎。

它能夠動態插入一個文件,重用JavaBean組件,引導用戶去另一個頁面,為Java插件產生相關的HTML等等。

行為標簽只有一種語法格式,它嚴格遵守XML標准:

<jsp:action_name attribute="value" />

 

行為標簽基本上是一些預先就定義好的函數,下表羅列出了一些可用的JSP行為標簽::

語法 描述

jsp:include 用於在當前頁面中包含靜態或動態資源

jsp:useBean 尋找和初始化一個JavaBean組件

jsp:setProperty 設置 JavaBean組件的值

jsp:getProperty 將 JavaBean組件的值插入到 output中

jsp:forward 從一個JSP文件向另一個文件傳遞一個包含用戶請求的request對象

jsp:plugin 用於在生成的HTML頁面中包含Applet和JavaBean對象

jsp:element 動態創建一個XML元素

jsp:attribute 定義動態創建的XML元素的屬性

jsp:body 定義動態創建的XML元素的主體

jsp:text 用於封裝模板數據

 

 

1-7 JSP隱含對象

JSP支持九個自動定義的變量,江湖人稱隱含對象。這九個隱含對象的簡介見下表:

 1 對象 描述
 2 
 3 request HttpServletRequest類的實例
 4 
 5 response HttpServletResponse類的實例
 6 
 7 out     PrintWriter類的實例,用於把結果輸出至網頁上
 8 
 9 session HttpSession類的實例
10 
11 application ServletContext類的實例,與應用上下文有關
12 
13 config ServletConfig類的實例
14 
15 pageContext PageContext類的實例,提供對JSP頁面所有對象以及命名空間的訪問
16 
17 page 類似於Java類中的this關鍵字
18 
19 Exception  Exception類的對象,代表發生錯誤的JSP頁面中對應的異常對象

 

1-8 控制流語句

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

1-9 判斷語句

Ifelse塊,語法如下

<% if (day == 1 | day == 7) { %>

      <p>今天是周末</p>

<% } else { %>

      <p>今天不是周末</p>

<% } %>

 

1-10 switch…case塊

ifelse塊有很大的不同,它使用out.println(),並且整個都裝在腳本程序的標簽中,就像下面這樣:

 1 <%
 2 
 3 switch(day) {
 4 
 5 case 0:
 6 
 7    out.println("星期天");
 8 
 9    break;
10 
11 case 1:
12 
13    out.println("星期一");
14 
15    break;
16 
17 case 2:
18 
19    out.println("星期二");
20 
21    break;
22 
23 case 3:
24 
25    out.println("星期三");
26 
27    break;
28 
29 case 4:
30 
31    out.println("星期四");
32 
33    break;
34 
35 case 5:
36 
37    out.println("星期五");
38 
39    break;
40 
41 default:
42 
43    out.println("星期六");
44 
45 }
46 
47 %>

 

1-11循環語句

JSP程序中可以使用Java的三個基本循環類型:forwhile,和 dowhile

 

讓我們來看看for循環的例子,以下輸出的不同字體大小:

1-11-1 for循環

<%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>

   <font color="green" size="<%= fontSize %>">

    sxt教程

   </font><br />

<%}%>

 

 

1-11-2 while 循環

<%while ( fontSize <= 3){ %>

   <font color="green" size="<%= fontSize %>">

    Sxt教程

   </font><br />

<%fontSize++;%>

<%}%>

 

1-12 JSP運算符

JSP支持所有Java邏輯和算術運算符。

 

下表羅列出了JSP常見運算符,優先級從高到底:

 

類別 操作符 結合性

后綴 () [] . (點運算符) 左到右

一元 ++ - - ! ~ 右到左

可乘性 * / % 左到右

可加性 + - 左到右

移位 >> >>> <<   左到右

關系 > >= < <=   左到右

相等/不等 == != 左到右

位與 & 左到右

位異或 ^ 左到右

位或 | 左到右

邏輯與 && 左到右

邏輯或 || 左到右

條件判斷 ?: 右到左

賦值 = += -= *= /= %= >>= <<= &= ^= |= 右到左

逗號 , 左到右

 

1-13 JSP 字面量

JSP語言定義了以下幾個字面量:

布爾值(boolean):truefalse;

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

浮點型(float):與 Java 中的一樣;

字符串(string):以單引號或雙引號開始和結束;

Null:null

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM