亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? websphere快速入門(14).txt

?? java學習文檔
?? TXT
字號:
作者:easyinfonet
email: easyinfonet@sina.com.cn
日期:2001-2-16 11:35:11
5.3 JSP 語法
    JSP 文件(擴展名為 .jsp)可以包含指令(或稱為指示語句)、Class-wide 變量和方法、直接插入的 Java 代碼(scriptlet)、訪問 JavaBean、變量數據的 HTML 模型、變量數據的 Java 表達式的組合。
1.JSP 指令
    使用 JSP 指令(在<%@ 和 %>內的)來指定所使用的腳本語言、Servlet 實現的接口、Servlet 擴展的類、Servlet 導入的軟件包。JSP 指令的一般語法形式為:<%@ 指令名 ="值" %>。其中有效的指令名為: 
    (1) language:文件中所使用的腳本語言。此時對于 Java 程序設計語言來說,僅 java 為有效值和缺省值。該指令作用于整個文件。當多次使用該指令時,只有第一次使用是有效的。示例如下:<%@ language ="java" %>。
    (2) Method:由嵌入的 Java 代碼(scriptlet)生成的方法的名稱。生成的代碼會成為指定方法名的主體。缺省的方法是service。當多次使用該指令時,只有第一次使用是有效的。示例如下:<%@ method ="doPost" %>。
    (3) Import:Servlet 導入的 Java 語言軟件包名或類名列表,該列表是用逗號分隔的。在 JSP 文件中,可以多次指定該指令來導入不同的軟件包。示例如下:<%@ import ="java.io.*,java.util.Hashtable" %>。
    (4) content_type :生成的響應的 MIME 類型。缺省值為 text/html。當多次使用該指令時,只有第一次使用是有效的。 該指令可用以指定在其中對頁面進行編碼的字符集。示例如下:<%@ content_type ="text/html; charset=gb2312" %>。
    (5) mplements:用于生成 Servlet 實現的 Java 語言接口列表,該列表是用逗號分隔的。可以在一個 JSP 文件中多次使用該命令,以實現不同的接口。示例如下:<%@ implements = "javax.servlet.http.HttpSessionContext" %>。
    (6) extends:Servlet 擴展的 Java 語言類的名稱。該類必須是有效的,且不能是一個 Servlet 類。該指令作用于整個 JSP 文件。當多次使用該指令時,只有第一次使用是有效的。示例如下:<%@ extends ="javax.servlet.http.HttpServlet" %>。
    2.class-wide 變量和方法
    使用 <SCRIPT> 和 </SCRIPT> 標記來說明 Servlet 類的 class-wide 變量和 class-wide 方法。一般語法如下:
<script runat=server>。
 // class-wide 變量和方法的代碼
 </script>
屬性 runat=server 是必需的,它表明該標記是用于服務器端處理的。指定 class-wide 變量和方法的示例如下:
<script runat=server> 
// class-wide 變量
init i = 0;
String foo = "Hello"; 
// class-wide 方法
private void foo() {
  	// 該方法的代碼 
}
</script>

    3.訪問 JavaBean
    JSP 對 JavaBean 的支持使您能通過 Web 站點重復使用組件。JavaBean 可以是類文件或串行化 Bean,也可由 Servlet 動態生成。請使用 <BEAN> 標記來創建一個 Bean 實例,以使從 JSP 文件的任何地方都可對該實例進行訪問。標記 <BEAN> 的語法為:
<bean name="Bean_name" varname="local_Bean_name"
   type ="class_or_interface_name" introspect="yes|no"
   beanName="ser_filename" create="yes|no"
   scope="request|session|userprofile" >
   <param property_name="value">
</bean>
    其中的屬性及其含義如下: 
    (1) name:用于在相應的范圍(由 scope 屬性指定)內查找 Bean 的名稱。例如,這可能是用于存儲 Bean 的會話(session)關鍵值。該值是分大小寫的。 
    (2) varname:用于在 JSP 文件中的任何地方引用 Bean 的名稱。該屬性是可選的。缺省值為 name 屬性值。該值是分大小寫的。
    (3) type:Bean 的類文件名。該名稱用于以代碼說明 Bean 實例。缺省值為 Object 類型。該值是分大小寫的。 
    (4) Introspect:當該值為真時,JSP 處理器檢查將所有的請求屬性,并調用與請求屬性匹配的 set 屬性方法集(該屬性是在 BeanInfo 中傳遞的)。該屬性的缺省值為是。
    (5) BeanName:Bean 的 .class 文件名、Bean 軟件包名或包含 Bean 的串行化文件(.ser 文件)的文件名。(該名稱是給 Bean 實例程序的)。僅當 Bean 不在指定的范圍中,且創建屬性被設置成是時,才使用該屬性。該值是分大小寫的。文件路徑必須在應用服務器的Java 類路徑中指定,除非文件在 applicationserver_root\servlets 目錄下。 
     (6) Create:當該值為真時,如果處理器在指定的范圍內沒有找到 Bean,則 JSP 將創建一個 Bean 實例。缺省值為真。 
     (7)Scope:Bean 的生命期。該屬性是可選的,其缺省值為 request 。有效值為: 
	  = request - 由 Servlet 將 Bean 設置成請求的上下文,該 Servlet 使用 JSP API 中描述的 API 調
用 JSP 文件。如果 Bean 不是請求上下文的一部分,則將創建該 Bean,并將其存儲在請求上下文中,除非創建屬性已設置為否。 
 = session - 如果當前對話中存在 Bean,則 Bean 已被重用。如果不存在 Bean,且創建屬性設置
為是,則它已被創建并作為會話的一部分存儲起來。 
 = userprofile - 由 Servlet 請求對象檢索、造型成指定的類型,并進行內省的用戶簡要表文件。(在
IBM WebShere應用服務器中,缺省類型為 com.ibm.servlet.personalization.userprofile.UserProfile)。
    (8) param:屬性和值配對的列表。屬性是在 Bean 中用內省自動設置的。只在實例化 Bean 時,才對屬性進行設置。 
    除了使用 <param> 屬性來設置 Bean 屬性外,還可以使用其它三種方法:第一,在請求包含 Bean 的 Web 頁面(JSP 文件)的 URL 時,指定查詢參數。必須將內省屬性設置成“是”。其示例如下:http://www.myserver.com/signon.jsp?name=jones&password=d13x,其中 Bean 屬性名將設置為 jones。第二種方法,將屬性指定成由 HTML <FROM> 標記提交的參數。必須將 mothod 屬性設置成 post。將 action 屬性設置成調用 Bean 的 JSP 文件的 URL。必須將 introspect 屬性設置成“是”。其示例如下: 
<form action="http://www.myserver.com/SearchSite" method="post">
  <input type="text" name="Search for: ">
  <input type="submit">
</form> 
第三中方法是使用 JSP 語法設置 Bean 屬性。
    在指定了 <BEAN> 標記后,就可以從 JSP 文件中的任何地方訪問 Bean。這里有三種訪問 Bean 屬性的方法:使用 JSP scriptlet、使用 JSP 表達式、使用 <INSERT> 標記(如同 變量數據的 HTML 模板語法中所說明的)。請參閱JSP示例(DisplayData.jsp 文件)以獲取三個訪問 Bean 方法的每個方法示例。
    4.直接插入的 Java 代碼(scriptlet)
    可以在 JSP 文件的 <% 和 %> 標記間直接嵌入任何有效的 Java 語言代碼。這樣嵌入的代碼稱為 scriptlet。如果沒有指定 method 指令,則生成的代碼將成為 service 方法的主體。用于 Servlet 的 scriptlet 可以使用一個預定義的變量集,該變量集符合基本的 Servlet、輸出和輸入類:
    (1) request:由 javax.servlet.http.HttpServletRequest 定義的 Servlet 請求類 
	 (2) responses:由 javax.servlet.http.HttpServletRequest 定義的 Servlet 響應類 
	 (3) out:由 java.io.PrintWriter 定義的輸出轉錄程序類 
	 (4) in:由 java.io.BufferedReader 定義的輸入閱讀程序類 
其示例如下:
<%
foo = request.getParameter("Name");
out.println(foo);
%>
    5.變量數據的 HTML 模板語法
    當頁面被返回給瀏覽器時,應用服務器HTML 模板語法使您能將變量字段放在 HTML 頁面上,并使 Servlet 和 JavaBean 可利用數據庫的值動態地替換變量。該功能是 JSP 的一個 IBM 擴展,它使引用變量數據變得十分容易。該語法只能用于 JSP 文件中。HTML 模板語法包括:
    = 基本 HTML 模板語法;
    = 替代 HTML 模板語法;
	= <REPEAT>標記。 
    這些標記通過 HTML 編寫工具被設計成傳遞交互操作的標記。每一個標記有一個相應的結束標記。每一個標記是分大小寫的,它們的一些屬性也是分大小寫的。IBM WebSphere Studio 使開發 JSP 文件以包含 HTML 模板語法變得更為容易。 
    (1) 基本 HTML 模板語法
<INSERT> 標記是用于指定變量字段的基本標記。一般的語法為:
<insert requestparm=pvalue requestattr=avalue bean=name
  property=property_name(optional_index).subproperty_name(optional_index)
  default=value_when_null>
</insert>
    其中的屬性及其含義如下: 
   = requestparm:要在請求對象內進行訪問的參數。該屬性是分大小寫的,并且不能與Bean 和property屬性一起使用。
   = Requestattr:要在請求對象內進行訪問的屬性。屬性應使用 setAttribute 方法設置。該屬性是分大小寫的,并且不能與 Bean 和property屬性一起使用。 
   = Bean:由 <BEAN> 標記在 JSP 文件中說明的 JavaBean 名。請參閱訪問 JavaBean 以獲得 <BEAN> 標記的解釋。該屬性的值是分大小寫的。當指定了 Bean 屬性,但未指定property屬性時,在替換中將使用完整的 Bean 。例如,如果 Bean 是類型 String 且未指定屬性,則將替代 string 的值。
   = Property:訪問替換的 Bean 的屬性。該屬性的值是分大小寫的,并且是屬性的獨立場所名。該屬性不能與 requestparm 屬性一起使用。 
   = Default:當 Bean 屬性值為空時,顯示可選的字符串。如果字符串包含多個字,則該字符串必須包含在一對雙引號中(例如 "HelpDesk number")。該屬性的值是分大小寫的。如果未指定值,則當屬性值為空時,用空字符串替代。 
基本語法的示例如下:
<insert bean=userProfile property=username></insert>
<insert requestparm=company default="IBM Corporation"></insert>
<insert requestattr=ceo default="Company CEO"></insert>
<insert bean=userProfile property=lastconnectiondate.month></insert> 
在大多數情況下,property屬性的值就是屬性名。但是,可以通過指定property屬性的全格式來訪問屬性的某一屬性(子屬性)。這個全格式也提供選擇項給您來指定索引屬性的一個索引。該可選的索引可以是一個常數(例如 2)或如重復設置 HTML 標記中描述的索引。使用屬性標記的全格式示例如下: 
<insert bean=staffQuery property=address(currentAddressIndex)></insert>
<insert bean=shoppingCart property=items(4).price></insert>
<insert bean=fooBean property=foo(2).bat(3).boo.far></insert>
    (2) 替代 HTML 模板語法
    HTML 標準不允許在 HTML 標記中嵌入 HTML 標記。因而,就無法在另一個 HTML 標記中嵌入<INSERT>標記。作為代替,請使用 HTML 模板替代語法。要使用替代語法: 
   = 請使用<INSERT>和</INSERT>來包含 HTML 標記,在該標記中指出替代內容。 
   = 指定 Bean 和property屬性: 
   &frac34; 要指定 Bean 和屬性特性,請使用下列格式:$(bean=b property=p default=d),其中 b、p 和 d 
作為描述基本語法的值。 
   &frac34; 要指定 requestparm 屬性,請使用下列格式:$(requestparm=r default=d),其中 r 和 d 作為
描述基本語法的值。 
   &frac34; 要指定 requestattr 屬性,請使用下列格式:$(requestattr=r default=d),其中 r 和 d 作為描述
基本語法的值。 
替代 HTML 模板語法的示例如下:
<insert>
  <img src=$(bean=productAds property=sale default=default.gif)>
</insert>
<insert>
  <a href="http://www.myserver.com/map/showmap.cgi?country=$(requestparm=country default=usa)
  &city$(requestparm=city default="Research Triangle Park")&email=
     $(bean=userInfo property=email)>Show map of city</a>
</insert>

   (3) <REPEAT>標記
    <REPEAT>標記的語法為:
<repeat index=name start=starting_index end=ending_index>
</repeat>
其中: 
    = index:是用于標識該重復數據塊的一個可選的名稱。該值是分大小寫的。 
    = Start:是用于該重復數據塊的一個可選的開始索引值。缺省值為 0 。 
    = End:是用于該重復數據塊的一個可選的結束索引值。最大值是 2,147,483,647。如果結束屬性的值小于開始屬性的值,則忽略結束屬性。 
    下面的示例 1、2 和 3 顯示了如何使用<REPEAT>標記。如果所有的索引屬性擁有 300 個或更少的元素,則這些示例將產生相同的輸出。如果擁有的元素多于 300 個,示例 1 和示例 2 將顯示所有的元素,而示例 3 將只顯示前 300 個元素。示例 1 用缺省開始和結束索引顯示了隱式索引:使用最小索引屬性數的 bean 限制了循環重復的次數。 
<table>
<repeat>
  <tr><td><insert bean=serviceLocationsQuery property=city></insert></tr></td>
  <tr><td><insert bean=serviceLocationsQuery property=address></insert></tr></td>
  <tr><td><insert bean=serviceLocationsQuery property=telephone></insert></tr></td>
</repeat>
</table>
示例 2 顯示了索引、開始索引和結束索引: 
<table>
<repeat index=myIndex start=0 end=2147483647>
  <tr><td><insert bean=serviceLocationsQuery property=city(myIndex)></insert></tr></td>
  <tr><td><insert bean=serviceLocationsQuery property=address(myIndex)></insert></tr></td>
  <tr><td><insert bean=serviceLocationsQuery property=telephone(myIndex)></insert></tr></td>
</repeat>
</table>
示例 3 用隱式開始索引顯示了顯式索引和結束索引。雖然指定了索引屬性,仍可對索引過的屬性城市進行隱式索引,因為不需要(i)。
<table>
<repeat index=myIndex end=299>
  <tr><td><insert bean=serviceLocationsQuery property=city></insert></tr></td>
  <tr><td><insert bean=serviceLocationsQuery property=address(myIndex)></insert></tr></td>
  <tr><td><insert bean=serviceLocationsQuery property=telephone(myIndex)></insert></tr></td>
</repeat>
</table>
可以嵌套<REPEAT>數據塊。獨立索引每個數據塊。該能力對交叉兩個 bean 上的交錯屬性或含有子屬性的屬性非常有用。在示例中,將兩個<REPEAT>數據塊嵌套,用以顯示用戶購物手推車上每一張壓縮光盤上的歌曲列表。
<repeat index=cdindex>
  <h1><insert bean=shoppingCart property=cds.title></insert></h1>
    <table>
  <repeat>
    <tr><td><insert bean=shoppingCart property=cds(cdindex).playlist></insert>
    </td></tr>
    </table>
</repeat>
</repeat>
    6.變量數據的 Java 表達式
    當處理 JSP 文件時,要指定分解一個 Java 語言表達式,請使用 JSP 表達式標記 <%= 和 %>。該表達式被評估和轉換成一個字符串,并加以顯示。原語類型,如 int 和 float 都自動轉換成字符串表示法。在該示例中,foo 是在 <SCRIPT> 中加以說明的 class-wide 變量,示例請見 Class-wide 變量和方法: 
    <p>翻譯歡迎辭<%= foo %>.</p> 
    當獲得 JSP 文件時,文本為:翻譯歡迎辭 Hello。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃视频免费观看一区| 日韩亚洲电影在线| 亚洲欧美一区二区三区国产精品 | 九九国产精品视频| 欧美精品一区二区三区蜜桃视频| 成人小视频在线| 欧美精品一二三四| 日本亚洲天堂网| 国产亚洲福利社区一区| 国产成人精品免费网站| 亚洲色图都市小说| 欧美日韩视频在线一区二区| 蜜桃视频一区二区| 国产精品三级在线观看| www成人在线观看| 91麻豆精品一区二区三区| 亚洲妇女屁股眼交7| 精品久久久久久久久久久院品网| 国产成人精品影视| 亚洲成人午夜影院| 国产女人aaa级久久久级| 一本大道av一区二区在线播放| 亚洲成人久久影院| 久久综合久久综合九色| 97久久精品人人做人人爽50路| 亚洲国产成人va在线观看天堂| 欧美视频在线一区| 蜜臀av性久久久久蜜臀av麻豆| 国产午夜精品福利| 欧美日本在线观看| 国产 日韩 欧美大片| 亚洲国产另类精品专区| 久久免费精品国产久精品久久久久| 不卡欧美aaaaa| 美腿丝袜一区二区三区| 中文字幕一区二区不卡| 中文字幕亚洲区| 91精品麻豆日日躁夜夜躁| 国产91精品在线观看| 奇米色777欧美一区二区| 日韩一区欧美一区| 久久亚洲春色中文字幕久久久| 在线精品视频小说1| 大白屁股一区二区视频| 免费成人av资源网| 亚洲国产成人高清精品| 国产精品久久久久aaaa樱花| 精品少妇一区二区三区在线视频| 欧美日韩综合在线免费观看| 国产麻豆视频一区二区| 午夜精品视频一区| 亚洲精品美国一| 欧美激情综合网| 欧美成人精品3d动漫h| 一本色道久久加勒比精品| 国产福利精品导航| 蜜乳av一区二区| 日韩—二三区免费观看av| 亚洲一区二区三区免费视频| 亚洲你懂的在线视频| 国产精品嫩草99a| 久久久久久久综合| 久久亚洲一区二区三区四区| 精品免费一区二区三区| 欧美一二三区在线| 91精选在线观看| 欧美日韩在线综合| 欧美亚洲国产怡红院影院| 99riav一区二区三区| av成人动漫在线观看| 成人性生交大片免费看中文网站| 激情欧美一区二区三区在线观看| 麻豆精品国产传媒mv男同| 日韩中文字幕不卡| 日本系列欧美系列| 免费av网站大全久久| 美女久久久精品| 蜜臀国产一区二区三区在线播放| 免费看黄色91| 美女诱惑一区二区| 九色综合国产一区二区三区| 麻豆国产精品一区二区三区| 精品一区二区三区的国产在线播放 | 国产露脸91国语对白| 精品午夜一区二区三区在线观看| 久久99久久99精品免视看婷婷 | 日本在线播放一区二区三区| 蜜桃av一区二区在线观看| 激情另类小说区图片区视频区| 久久精品国产精品亚洲综合| 国产一区二区在线影院| www.欧美日韩国产在线| 色噜噜狠狠色综合欧洲selulu | 亚洲国产aⅴ成人精品无吗| 精品在线观看视频| 美女视频黄久久| 国产在线国偷精品免费看| 国产成人精品网址| 色伊人久久综合中文字幕| 欧美视频一区二区在线观看| 欧美一级黄色录像| 久久久国产精品麻豆| 亚洲欧美视频在线观看视频| 亚洲一区二区三区四区在线免费观看 | 成人性生交大片免费看在线播放 | 日本不卡在线视频| 国产福利一区在线| 色婷婷综合五月| 日韩三级高清在线| 国产精品灌醉下药二区| 日韩精品一二三区| 激情文学综合插| 欧洲激情一区二区| 精品99一区二区三区| 亚洲色图丝袜美腿| 精品在线免费视频| 色综合久久综合网97色综合| 日韩一级精品视频在线观看| 国产精品嫩草久久久久| 天天综合色天天| 成人免费视频一区二区| 欧美男男青年gay1069videost| 久久久不卡网国产精品一区| 成人福利在线看| 日韩一级成人av| 亚洲欧美激情插| 精品一区二区三区视频在线观看 | 欧美三片在线视频观看| 国产欧美一区二区三区网站| 亚洲国产一区二区a毛片| 国产精品自产自拍| 欧美精品久久天天躁| 1区2区3区欧美| 精品一区二区三区在线观看国产| 欧洲av在线精品| 久久久国产精品麻豆| 美女国产一区二区| 欧美日韩国产成人在线免费| 国产精品国产三级国产三级人妇| 精品在线一区二区三区| 91精品国产日韩91久久久久久| 亚洲蜜臀av乱码久久精品| 国产成人免费视| 欧美成人福利视频| 日本美女一区二区三区| 欧美日韩精品免费| 亚洲自拍与偷拍| 色婷婷亚洲精品| 亚洲欧美另类在线| 9l国产精品久久久久麻豆| 国产亚洲一区二区在线观看| 日韩福利电影在线| 制服丝袜中文字幕一区| 亚洲一区自拍偷拍| 91在线视频官网| 一区二区中文字幕在线| 国产91对白在线观看九色| 国产午夜精品理论片a级大结局| 九九热在线视频观看这里只有精品| 欧美日韩日本视频| 亚洲国产日韩精品| 欧美喷潮久久久xxxxx| 亚洲444eee在线观看| 欧美日韩电影在线播放| 亚洲va韩国va欧美va精品| 精品污污网站免费看| 亚洲不卡av一区二区三区| 欧美日本国产一区| 青青草国产成人99久久| 日韩视频123| 激情国产一区二区| 国产欧美日韩综合| www.久久精品| 亚洲一线二线三线视频| 欧美群妇大交群的观看方式| 蜜桃一区二区三区在线观看| 26uuu亚洲综合色| 国产白丝网站精品污在线入口| 国产精品欧美一区喷水| 色国产精品一区在线观看| 亚洲gay无套男同| 日韩精品一区二区三区在线| 国模一区二区三区白浆| 国产精品福利一区| 欧美色中文字幕| 激情综合色播五月| 国产色婷婷亚洲99精品小说| av福利精品导航| 亚洲二区视频在线| 精品国产免费人成在线观看| 成人性生交大片免费看视频在线| 亚洲精品国产精品乱码不99| 这里是久久伊人| 国产成人欧美日韩在线电影| 自拍偷拍欧美激情| 欧美一区二区三区精品| 国产成人在线免费观看| 一区二区三区四区亚洲| 精品日韩99亚洲| 麻豆国产欧美日韩综合精品二区 |