JSP 語法詳解(轉)
JSP 語法詳解(轉)[@more@]HTML 註釋 在客戶端顯示一個註釋. JSP 語法<!-- comment [ ] --> 例子 1<!-- This file displays the user login screen --> 在客戶端的HTML原始碼中產生和上面一樣的資料: <!-- This file displays the user login screen --> 例子 2<!-- This page was loaded on --> 在客戶端的HTML原始碼中顯示為: <!-- This page was loaded on January 1, 2000 --> 描述這種註釋和HTML中很像,也就是它可以在"檢視原始碼"中看到. 唯一有些不同的就是,你可以在這個註釋中用表示式(例子2所示).這個表達示是不定的,由頁面不同而不同,你能夠使用各種表示式,只要是合法的就行。更多的請看錶達式隱藏註釋 寫在JSP程式中,但不是發給客戶。 JSP 語法 例子:CODE: A Comment Test 元素包含進來。 表示式 包含一個符合JSP語法的表示式 JSP 語法 例子 . 描述表示式元素表示的是一個在指令碼語言中被定義的表示式,在執行後被自動轉化為字串,然後插入到這個表達示在JSP檔案的位置顯示。因為這個表示式的值已經被轉化為字串,所以你能在一行文字中插入這個表示式(形式和ASP完全一樣). 當你在JSP中使用表示式時請記住以下幾點: 你不能用一個分號(";")來作為表示式的結束符.但是同樣的表示式用在scriptlet中就需要以分號來結尾了!檢視Scriptlet 這個表示式元素能夠包括任何在Java Language Specification中有效的表示式. 有時候表示式也能做為其它JSP元素的屬性值.一個表示式能夠變得很複雜,它可能由一個或多個表示式組成,這些表示式的順序是從左到右。 [/b]Scriptlet [/b]包含一個有效的程式段. JSP 語法 例子String name = null; if (request.getParameter("name") == null) { %> } else { foo.setName(request.getParameter("name")); if (foo.getName().equalsIgnoreCase("integra")) name = "acura"; if (name.equalsIgnoreCase( "acura" )) { %> 描述一個scriptlet能夠包含多個jsp語句,方法,變數,表示式 因為scriptlet,我們便能做以下的事: 宣告將要用到的變數或方法(參考 宣告). 編寫JSP表示式(參考 表示式). 使用任何隱含的物件和任何用宣告過的物件 編寫JSP語句 (如果你在使用Java語言,這些語句必須遵從Java Language Specification,). 任何文字,HTML標記,JSP元素必須在scriptlet之外 當JSP收到客戶的請求時,scriptlet就會被執行,如果scriptlet有顯示的內容,這些顯示的內容就被存在out物件中。 Include 指令在JSP中包含一個靜態的檔案,同時解析這個檔案中的JSP語句. JSP 語法 例子include.jsp: CODE: An Include Test The current date and time are date.jsp:CODE: Displays in the page: The current date and time are Aug 30, 1999 2:38:40 描述< %@include %>指令將會在JSP編譯時插入一個包含文字或程式碼的檔案,當你使用指命時,這個包含的過程就當是靜態的。靜態的包含就是指這個被包含的檔案將會被插入到JSP檔案中去,這個包含的檔案可以是JSP檔案,HTML檔案,文字檔案。如果包含的是JSP檔案,這個包含的JSP的檔案中程式碼將會被執行。 如果你僅僅只是用include 來包含一個靜態檔案。那麼這個包含的檔案所執行的結果將會插入到JSP檔案中放的地方。一旦包含檔案被執行,那麼主JSP檔案的過程將會被恢復,繼續執行下一行. 這個被包含檔案可以是html檔案,jsp檔案,文字檔案,或者只是一段Java程式碼,但是你得注意在這個包含檔案中不能使用, ,,標記,因為這將會影響在原JSP檔案中同樣的標記 ,這樣做有時會導致錯誤. 有一些指命的行為是以特殊的JSP編譯條件為基礎,比如: 這個被包含的檔案必須對所有客戶都有開放且必須f有效,或者它有安全限制 如果這個包含檔案被改變,包含此檔案的JSP檔案將被重新編譯 屬性:file="relativeURL"這個包含檔案的路徑名一般來說是指相對路徑,不需要什麼埠,協議,和域名,如下: "error.jsp""templates/onlinestore.html""/beans/calendar.jsp" 如果這個路徑以"/"開頭,那麼這個路徑主要是參照JSP應用的上下關係路徑,如果路徑是以檔名或目錄名開頭,那麼這個路徑就是正在使用的JSP檔案的當前路徑.Page 指令定義JSP檔案中的全域性屬性. JSP 語法[ language="java" ] [ extends="package.class" ] [ import="{package.class | package.*}, ..." ] [ session="true | false" ] [ buffer="none | 8kb | sizekb" ] [ autoFlush="true | false" ] [ isThreadSafe="true | false" ] [ info="text" ] [ errorPage="relativeURL" ] [ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ] [ isErrorPage="true | false" ] %> 例子 描述指令作用於整個JSP頁面,同樣包括靜態的包含檔案。但是指令不能作用於動態的包含檔案,比如 你可以在一個頁面中用上多個指令,但是其中的屬性只能用一次,不過也有個例外,那就是import屬性。因為import屬性和Java中的import語句差不多(參照Java Language),所以你就能多用此屬性幾次了. 無論你把指令放在JSP的檔案的哪個地方,它的作用範圍都是整個JSP頁面。不過,為了JSP程式的可讀性,以及好的程式設計習慣,最好還是把它放在JSP檔案的頂部. 屬性language="java"宣告指令碼語言的種類,暫時只能用"java" extends="package.class"標明JSP編譯時需要加入的Java Class的全名,但是得慎重的使用它,它會限制JSP的編譯能力. import="{package.class | package.* }, ..."需要匯入的Java包的列表,這些包就作用於程式段,表示式,以及宣告。 下面的包在JSP編譯時已經匯入了,所以你就不需要再指明瞭: java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.* session="true | false"設定客戶是否需要HTTP Session.(學過ASP的人,應該對它不陌生)如果它為true,那麼Session是有用的。 如果它有false,那麼你就不能使用session物件,以及定義了scope=session的元素。這樣的使用會導致錯誤. 預設值是true. buffer="none | 8kb | sizekb"buffer的大小被out物件用於處理執行後的JSP對客戶瀏覽器的輸出。預設值是8kb autoFlush="true | false"設定如果buffer溢位,是否需要強制輸出,如果其值被定義為true(預設值),輸出正常,如果它被設定為false,如果這個buffer溢位,就會導致一個意外錯誤的發生.如果你把buffer設定為none,那麼你就不能把autoFlush設定為false. isThreadSafe="true | false"設定Jsp檔案是否能多執行緒使用。預設值是true,也就是說,JSP能夠同時處理多個使用者的請求,如果設定為false,一個jsp只能一次處理一個請求 info="text"一個文字在執行JSP將會被逐字加入JSP中,你能夠使用Servlet.getServletInfo方法取回。 errorPage="relativeURL"設定處理異常事件的JSP檔案。 isErrorPage="true | false"設定此頁是否為出錯頁,如果被設定為true,你就能使用exception物件. contentType="mimeType [ ;charset=characterSet ]" | "text/html;charset=ISO-8859-1"設定MIME型別 。預設MIME 型別是: text/html, 預設字符集為 ISO-8859-1.重定向一個HTML檔案,JSP檔案,或者是一個程式段. JSP 語法"} /> or "} > 例子 描述標籤從一個JSP檔案向另一個檔案傳遞一個包含使用者請求的request物件.標籤以下的程式碼,將不能執行. 你能夠向目標檔案傳送引數和值,在這個例子中我們傳遞的引數名為username,值為scott,如果你使用了
A Test of Comments
描述用隱藏註釋標記的字元會在JSP編譯時被忽略掉。這個註釋在你希望隱藏或註釋你的JSP程式時是很有用的。JSP編譯器不是會對之間的語句進行編譯的,它不會顯示在客戶的瀏覽器中,也不會在原始碼中看到 宣告 在JSP程式中宣告合法的變數和方法 JSP 語法 例子 描述宣告你將要在JSP程式中用到的變數和方法。你也必須這樣做,不然會出錯. 你可以一次性宣告多個變數和方法,只要以";"結尾就行,當然這些宣告在Java中要是合法的。 當你宣告方法或變數時,請注意以下的一些規則: 宣告必須以";"結尾(Scriptlet有同樣的規則,但是 表示式就不同了). 你可以直接使用在中被包含進來的已經宣告的變數和方法,不需要對它們重新進行宣告. 一個宣告僅在一個頁面中有效。如果你想每個頁面都用到一些宣告,最好把它們寫成一個單獨的檔案,然後用或來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-946008/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JSP基本語法JS
- smali語法詳解
- Markdown語法詳解
- JSP詳解-1JS
- Hive sql語法詳解HiveSQL
- jQuery 的語法詳解jQuery
- 詳解Dockerfile基本語法Docker
- sed命令語法詳解
- Java語法糖詳解Java
- 詳解中括號語法及點語法
- Dart語言詳解(二)——基本語法Dart
- 解決Spring Boot無法跳轉jsp頁面問題Spring BootJS
- nginx與location語法詳解Nginx
- Azure Terraform(二)語法詳解ORM
- es6語法詳解
- 詳談JSP執行原理、生命週期、語法、指令、動作標籤、九大內建物件(JSP 全家桶)JS物件
- Python中裝飾器語法詳解Python
- Dart語法詳解(三)——進階篇Dart
- 自動化整合:Pipeline流水語法詳解
- 以 Golang 為例詳解 AST 抽象語法樹GolangAST抽象語法樹
- Vue 3 元件基礎與模板語法詳解Vue元件
- MarkDown語法教程(轉)
- Web應用開發: JSP語法程式設計實踐(一) JSP中的標識WebJS程式設計
- Python程式設計入門基礎語法詳解Python程式設計
- C#有關介面的語法知識詳解C#
- Jsp Unescaped xml character報錯的解決辦法JSXML
- JSP中無法使用內建物件解決方法JS物件
- Kotlin 程式語言詳解:特點、應用領域及語法教程Kotlin
- 詳解ASR語音轉寫場景下的應用
- Python語法的轉義字元Python字元
- Python程式設計入門——基礎語法詳解(經典)Python程式設計
- halcon語法講解
- JSP 表示式語言概述JS
- SVN命令詳解【轉】
- vi命令詳解(轉)
- [轉]GitFlow詳解教程Git
- IDEA解決JSP頁面無法使用EL表示式問題IdeaJS
- Windows 輸入法詳解Windows
- mysql語法使用詳細程式碼版MySql