成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳細介紹JSP表達式

開發 后端
本文詳細介紹JSP表達式,以及使用declarations,使用scriptlets和Directives。

如果你是直接使用Java servlets,那你將不得不在Java類中處理HTTP輸入和HTML輸出,你需要豐富的Java編程經驗來構建復雜的應用程序。JSP的加入,使你可以把HTML的表達邏輯從植入servlets中的復雜的商務邏輯區分開來。這意味著可以由有經驗的腳本編寫者來編寫表達層代碼,而高級的Java開發者能夠集中精力去解決servlets和bean中更為復雜的問題。

不管你有沒有Java編程知識,都能夠使用JSP.JSP包含了一些服務器端的標簽,使得不用寫一行Java代碼就能顯示動態數據。你可以直接訪問bean來完成操作,然后使用JSP標簽把結果顯示為動態內容。你還可以用servlets生成bean,servlets 操作的運算結果存于其中,然后再使用JSP標簽顯示結果,同樣不需要在JSP頁中寫Java代碼。

有三種方式可以用來在你的網頁中加入Java代碼:

1、使用declarations(聲明),可以定義全局變量或是在頁內任何地方都可以訪問的Java方法。聲明被包含在標記<;%!……%>中。

2、使用scriptlets(腳本片斷),你能書寫頁內處理所需的任何邏輯,它們包含在<;%……%>標記內。

3、Expressions(表達式),包含于<;%=……%>中。它提供一種簡單的方法來顯示Java表達式的結果。被附加上的表達式將被計算并在頁面上顯示出來,就好像你已經在代碼中明確寫出了運算結果的數值一樣。

在你自己編寫的代碼中,可以使用一些隱含變量(implicit variables)――JSP提供的預定義的Java對象。另外,通過使用JSP的指令(directives), 還可以包含非Java代碼模塊,比如來自其他文件的HTML文本。

下面我們來仔細看一看這些腳本元素,在編寫你自己的JSP腳本時將會經常用到它們。

Directives(指令)

JSP定義了三個頁內指令用于設置JSP參數或擴充代碼。它們是 page,include和taglib,必須寫在JSP頁的第一行。語法如下:

<;%@ directive attribute="value" …… %>

page指令允許你為網頁設定一些基本參數,包括設置所用腳本語言的參數(默認為Java)、你的腳本片斷中引入的Java類、設置輸出緩沖區等等。完整的page指令參數表見《JSP Specification Version 1.0》(《JSP規范1.0》)的2.8.1章。

使用include指令,可以包含其他文件的內容,比如存于單獨文件中的HTML報頭和頁腳。

taglib指令用于擴充標準的JSP標簽集,這超出了本文的討論范圍。然而,了解JSP定義了一種擴充其標簽集的方法還是很有好處的,當你是一個軟件商,想擴充JSP的原始功能而又不想破壞其兼容性時,這一點尤為重要。

Declarations(聲明)

使用declarations,你可以在JSP頁中定義方法或變量,它們可被同一頁中的其他代碼訪問。在大多數情況下,你可能會在自己的bean中定義方法。然而,有時候在網頁內定義方法可能更方便一些,尤其是當代碼只用于單一頁面時。不論定義方法還是變量,聲明都包含在<;%! %>標記內。

注意,聲明并不在JSP頁內產生任何輸出。它們僅僅用于定義,而不生成輸出結果。要生成輸出結果,你應該用JSP表達式或腳本片斷。

Expressions(表達式)

Expressions是一種非常簡單的JSP標簽,它用來把在<;%= %>中定義的JSP表達式的值轉換成字串并將這個值以動態文本的形式送出。Expression的確是一條生成文本的捷徑,有了它,你不必在每次要顯示一段動態文本的時候都去調用print()方法。典型的應用就是,你可以用expressions顯示簡單的變量值或bean中的方法的返回值。

事實上,在生成動態輸出之前,JSP必須把方法的返回值轉變為Java中的String對象。JSP規范中詳細描述了在JSP表達式中,什么樣的Java類型和Java類會被轉變成字串。

Scriptlets(腳本片斷)

到現在為止你已經學會了使用指令來引入任何Java類或Java包,你能定義頁面級的方法或變量并在頁中使用它們,你還可以使用提供普通web處理功能的隱含變量。還能在JSP頁內做些什么就取決于你了,因為你可以在scriptlets(腳本片斷)里編寫任何你想要的Java代碼


通過在page指令中使用IMPORT參數,你可以從腳本片斷內調用所有Java API.因為你寫的所有JSP代碼實際上都被編譯構成Java servlet,它本身就是一個Java類,所以你所用的語言本身就是Java,而不是任何一種修改或整理過的版本。這就像在SSJS中你可以編寫任何代碼一樣。而與SSJS不同,在JSP中你有權使用整套豐富的Java API,因此幾乎沒有任何局限性。

Implicit Variables(隱含變量)

前面提到過,JSP定義了一些隱含變量(即Java 對象)供你在表達式和腳本片斷中使用。《JSP Specification Version 1.0》的表2-2列出了JSP1.0中可用的隱含變量。這里列出一些常用的對象:

out對象,類型為javax.servlet.jsp.JspWriter,提供對方法(例如print()方法)的訪問,用來在腳本片斷內生成輸出結果。

request對象直接與Java中的javax.servlet.http.HttpServletRequest類對應,具有該類的對象的一切屬性和方法。HTML表單或URL查詢字串傳入的值,可以調用request.getParameter()方法,根據名字獲取參量。

response對象與Java中的javax.servlet.http.HttpServletResponse類對應,提供對你的網頁產生的HTML響應的參數的訪問權。因此,要在JSP頁返回的HTML響應報頭中加入一個值,你就可以調用the response.setHeader() 方法來實現。

我們來看一看一個表單和它的JSP表單句柄之間的交互過程。使用前面討論過的腳本元素,我實現了一個簡單的web站點回饋表單和一個JSP表單句柄用來驗證輸入,然后有條件地地生成基于回饋的輸出。

按鈕:submit query——提交;reset――重填

表單句柄將會檢驗名稱和意見欄以確定它們已被填寫,如果其中任何一個或兩個是空白的,表單句柄會生成一條錯誤信息;否則它將繼續查看用戶意見是否與預先設定的字串匹配。如果匹配,它就輸出一條專門的信息;否則輸出“thank you”。

【編輯推薦】

  1. JSP開發環境的搭建
  2. 簡單介紹JSP環境配置
  3. JSP、ASP和PHP安全編程
  4. 整合Apache中JSP和PHP
  5. JSP和Servlet應用的安全問題
責任編輯:佚名 來源: IT168
相關推薦

2009-09-17 10:40:22

Linq Lambda

2011-06-16 16:05:23

正則表達式

2011-06-16 15:40:28

正則表達式

2009-07-06 15:20:30

JSP表達式

2011-06-02 12:34:16

正則表達式

2009-09-17 09:15:49

Linq表達式樹

2009-08-13 09:47:57

調用JSP EL表達式帶參數方法

2010-03-11 08:55:45

python正則表達式

2022-11-29 11:00:04

Lambda表達式Java

2016-12-05 17:03:59

用法正則表達式

2014-01-05 17:41:09

PostgreSQL表達式

2021-09-13 18:39:50

ServeltELJSP

2009-08-14 17:52:30

C#表達式工具

2011-08-29 18:43:45

MDX多維查詢表達式

2009-07-03 17:52:17

JSP2.0

2024-03-25 13:46:12

C#Lambda編程

2009-07-01 10:12:40

JSP環境配置JSP引擎

2009-09-02 09:44:01

JSP和JavaBea

2011-07-08 16:54:39

JspCookies

2009-07-03 11:21:43

Servlet和JSPJSP路徑
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91亚洲国产成人久久精品网站 | 国产色视频网站 | 91精品国产乱码久久蜜臀 | 色婷婷综合久久久中字幕精品久久 | 国产高清一区二区 | 天天射网站 | 国产98色在线 | 日韩 | 男女啪啪高潮无遮挡免费动态 | 99久久久久久| 日韩国产中文字幕 | 天天欧美 | 欧美一级黄色免费 | 国产一区二区在线免费观看 | 欧美一级二级在线观看 | 91就要激情 | 日本五月婷婷 | 亚洲最大的成人网 | 欧美成人免费 | 在线观看日韩精品视频 | а_天堂中文最新版地址 | 亚洲欧美一区二区三区在线 | 国产亚洲精品美女久久久久久久久久 | 国产欧美日韩综合精品一区二区 | 亚洲精品一区中文字幕乱码 | 二区av| 久久久久久久网 | 欧美日韩精品中文字幕 | 国产成人在线视频免费观看 | 欧美激情精品久久久久 | 欧美黑人一级爽快片淫片高清 | 亚洲精品一区中文字幕 | 深夜福利影院 | 全免费a级毛片免费看视频免 | 日韩三区在线观看 | 精久久久 | 91青青草视频 | 99re在线视频免费观看 | 日韩欧美天堂 | 亚洲国产免费 | 日韩欧美视频 | 性一区|