亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP教程(五)-JSP Actions的使用下

2024-09-05 00:20:11
字體:
來源:轉載
供稿:網友

 
jsp:usebean action 的使用

  一、 語法:
<jsp:usebean
id="beaninstancename"
scope="page|request|session|application"
{ class="package.class" |
type="package.class" |
class="package.class" type="package.class" |
beanname="{package.class | <%= expression %>}" type="package.class"
}
{ /> |
> 其他元素
</jsp:usebean>
}

  這個action使您能將一個javabean裝入一個jsp頁面。這是一個非常有用的能力,因為它使您可以使用可重用的java類而不需犧牲性能。最簡單的語法用于指定一個bean:

  <jsp:usebean id="name" class="package.class" />

  這通常意味著“實例化一個類的對象通過指定一個類,并將之與一個通過id指定名稱的變量綁定”。然而,就象我們看到的,您可以指定一個scope屬性來使得bean不僅僅與當前的頁面相聯系。在這種情形下,得到一個對已存在的bean的引用是非常有用的,而且,僅當沒有相同的id和scope的bean存在時才創建一個新的?,F在,您已有了bean,您可以通過jsp:setproperty來修改它,或者,通過使用之前用id指定的名字來使用scriptlet或明確的調用方法。當您說“這個bean有一個稱為foo的x類型的屬性”,您真正的意思是“這個類有一個稱為getfoo的方法,它返回x類型的某類值,還有另一個方法稱為setfoo,它以x為參數?!边@jsp:setproperty action 將在下一單元詳細的介紹,但是現在您既可以給出一個明確的值,給出一個屬性來說明此值是從request的參數繼承而來,也可以僅僅列出屬性來標志此值應該從與屬性名同名的參數繼承而來。您可以通過調用適用的getxxx方法,或更普遍的,使用jsp:getproperty action,來得到已存在的jsp表達式或scriptlet屬性。

  請注意,為bean指定的類必須在服務器的規則的類路徑下,而不是用來保留當改變時自動裝載的類的路徑。例如,在java web server上,它和它所用的類必須到類的目錄或在lib目錄下的一個jar文件內,而不是在servlets的目錄下。

  下面讓我們來看一個非常簡單的例子,它裝載一個bean并且設置/得到一個簡單的串參數。

beantest.jsp
<html>
<head>
<title>reusing javabeans in jsp</title>
</head>
<body>
<center>
<table border=5>
<tr><th class="title">
reusing javabeans in jsp</table>
</center>
<p>
<jsp:usebean id="test" class="hall.simplebean" />
<jsp:setproperty name="test"
property="message"
value="hello www" />
<h1>message: <i>
<jsp:getproperty name="test" property="message" />
</i></h1>
</body>
simplebean.java

  以下是bean的原代碼:

package hall;
public class simplebean {
private string message = "no message specified";
public string getmessage() {
return(message);
}
public void setmessage(string message) {
this.message = message;
}
}

  運行結果為:頁面輸出: reusing javabeans in jsp

  b>message:hello www

  二、jsp:usebean 的詳細用法

  最簡單的使用bean的方式是:

  <jsp:usebean id="name" class="package.class"/>
  為了裝載bean,需要用jsp:setproperty和 jsp:getproperty來修改和檢索bean的屬性。且,還有兩種別的選項。首先,您可以使用容器的格式,也就是:

<jsp:usebean ...>
body
</jsp:usebean>

要指出的是,body部分應該僅在bean第一次實例化時被執行,而不是在每次被找到和使用時。beans能夠被共享,因此,并不是所有的jsp:usebean 陳述都產生一個新的bean的實例。其次,除了id 或class以外,還有三種屬性您可以使用:scope,type,和beanname。這些屬性總結如下:

  屬性

  用法

id
  給一個變量命名,此變量將指向bean。如果發現存在一個具有相同的id和scope 的bean則使用之而不新建一個。

class
  指出bean的完整的包名。

scope
  指明bean在之上可以被使用的前后關系。有四個可能的值:page,request,session,和application。缺省為page,表明bean僅在當前頁可用(保存在當前的pagecontext中)。request的一個值表明bean僅用于當前客戶端的請求(保存在servletrequest對象中)。session的值指出在當前的httpsession的生命周期內,對象對所有的頁面可用。 最后,application的值指出對象對所有共享servletscontext的頁面可以使用。使用jsp:usebean 僅在沒有相同的id和scope 的bean時創建一個新的bean,如果已有則使用之,并忽略以jsp:usebean標志開始和結尾的代碼。

type
  指明將指向對象的變量的類型。這必須與類名相匹配或是一個超類或者是一個實現類的接口。記住,變量的名由id屬性來指定。

beanname
  賦予bean一個名字,您應該在beans的實例化方法中提供。它允許您給出type和一個beanname,并省略類屬性。
  三、jsp:setproperty action

  語法:

<jsp:setproperty
name="beaninstancename"
{ property="*" |
property="propertyname" [ param="parametername" ] |
property="propertyname" value="{string | <%= expression %>}"
}
/>

  在前面我們就知道了可以使用 jsp:setproperty 來為一個bean的屬性賦值。您可以使用兩種方式實現它。其一是,在jsp:usebean后(而不是在之內)使用jsp:setproperty:

<jsp:usebean id="myname" ... />
...
<jsp:setproperty name="myname"
property="someproperty" ... />

  在這種方式中,jsp:setproperty 將被執行無論是否已有一個具有相同的id和scope的bean存在。另一種方式是,jsp:setproperty出現在jsp:usebean 元素內,如:

<jsp:usebean id="myname" ... >
...
<jsp:setproperty name="myname"
property="someproperty" ... />
</jsp:usebean>

  此種情況下,jsp:setproperty僅在新的對象被實例化時才執行。

  以下是四種jsp:setproperty的可用的屬性:

  屬性

  用法

name
  這是一個必選屬性。它指出哪一個bean的屬性將被設置。jsp:usebean必須出現在jsp:setproperty之前。

property
  這是一個必選屬性。表明您將設置哪一個屬性。然而,有一個特殊的情況:如果以"*"為值意味著,所有的名稱與bean的屬性匹配的request參數都將被傳遞到相應的屬性設置方法。
value
  這是一個可選屬性。它指定被設置的屬性的值。字符串的值通過相應的對象或包的標準的valueof方法將自動的轉換為numbers,boolean,boolean,byte,byte,char,和character。例如,boolean或boolean屬性的值“true”將通過boolean.valueof方法轉化,而,一個int或integer屬性的值“42”將通過integer.valueof轉化。您不能同時使用value和param屬性,但,兩個都不用是允許的。

param
  這是一個可選屬性。它指明了bean的屬性應該繼承的request的參數。如果當前的request沒有這樣的一個參數,就什麼也不做:系統并不將null傳給設置屬性的方法。因此,您可以使用bean的缺省值。例如下面的這段程序執行“將numberofitems屬性設置為任意numitems request參數的值,如果有這樣的一個request參數,否則什么也不做?!?/p>

<jsp:setproperty name="orderbean"
property="numberofitems"
param="numitems" />

  如果您將value和param同時缺省,這和您將param的名稱設為bean的屬性名相同一樣。您可以通過將name的值設置為”*”和省略value和param來自動的使用與bean的屬性相應的request的屬性。在這種情況下,服務器將反復的查找可用的屬性和request參數來匹配具有相同名字的。

  四、jsp:getproperty action

  語法:

  <jsp:getproperty name="beaninstancename" property="propertyname" />

  這個屬性檢索出bean的屬性的值并將之轉化為一個字符串,然后將之插入到輸出。它有兩個必選屬性:name,在之前用jsp:usebean引入的名稱,property,必須被插入值的屬性。

商業源碼熱門下載www.html.org.cn

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久视频国产精品免费视频在线| 久久av.com| 国产精品一区二区久久久| xxx一区二区| 亚洲人永久免费| 亚洲自拍中文字幕| 2023亚洲男人天堂| 韩国欧美亚洲国产| 精品久久在线播放| 中文字幕日韩av电影| 久久精品成人欧美大片| 国产日韩欧美91| 国精产品一区一区三区有限在线| www.精品av.com| 性欧美xxxx| 亚洲第一中文字幕在线观看| 91日本在线观看| 久久视频在线免费观看| 国产精品一区二区三区成人| 亚洲国产日韩欧美在线动漫| 欧美激情啊啊啊| 午夜精品一区二区三区在线视频| 91在线视频九色| 国产日韩欧美电影在线观看| 福利一区视频在线观看| 精品国产精品三级精品av网址| 国产欧美一区二区三区四区| 国产精品精品视频一区二区三区| 国产精品亚洲片夜色在线| 日韩成人av在线| 在线播放国产精品| 日韩中文字幕视频在线| 国产精品久久久久久一区二区| 亚洲高清在线观看| 亚洲毛片在线看| 国产精品视频999| 亚洲欧洲日产国产网站| 欧美日韩亚洲网| 国产婷婷色综合av蜜臀av| 免费成人高清视频| 精品久久久久久亚洲国产300| 亚洲人午夜精品| 久久久午夜视频| 欧美日韩中文在线| 精品久久久久国产| 91伊人影院在线播放| 欧美日韩免费区域视频在线观看| 国产精品日韩久久久久| 国产伦精品一区二区三区精品视频| 97在线看免费观看视频在线观看| 亚洲第一色中文字幕| 亚洲网站在线观看| 欧美高跟鞋交xxxxhd| 美女999久久久精品视频| 亚洲欧美国内爽妇网| 91精品视频网站| 91夜夜揉人人捏人人添红杏| 91高清在线免费观看| 91香蕉嫩草神马影院在线观看| 这里只有精品久久| 亚洲精品国产综合区久久久久久久| 91po在线观看91精品国产性色| 色偷偷9999www| 国内精品久久影院| 97久久久久久| 538国产精品一区二区在线| 欧美综合在线观看| 亚洲国产成人在线视频| 91九色蝌蚪国产| 国产精品久久久久久久久免费看| 国产精品综合不卡av| 九九热精品视频| 日韩av在线免费观看| 国产精品久久久久久影视| 亚洲日韩中文字幕| 日韩高清人体午夜| 92裸体在线视频网站| 亚洲伊人一本大道中文字幕| 91九色国产在线| 欧美黄网免费在线观看| 在线播放精品一区二区三区| 茄子视频成人在线| 色偷偷偷综合中文字幕;dd| 色婷婷av一区二区三区在线观看| 97人人爽人人喊人人模波多| 九九热最新视频//这里只有精品| xvideos亚洲| 人人爽久久涩噜噜噜网站| 国产精品日韩欧美综合| 国产美女精品视频免费观看| 国产精品久久婷婷六月丁香| 这里只有精品视频| 91精品国产91久久久| 欧美另类极品videosbest最新版本| 尤物yw午夜国产精品视频| 欧美精品日韩三级| 亚洲一品av免费观看| 国产日韩视频在线观看| 亚洲一区美女视频在线观看免费| 日韩电影中文字幕一区| 日韩久久免费视频| 亚洲欧洲日韩国产| 日韩高清免费在线| 国产成人avxxxxx在线看| 国产精品一区二区三区免费视频| 久久久97精品| 欧美成人精品影院| 麻豆国产精品va在线观看不卡| 在线观看久久久久久| 秋霞成人午夜鲁丝一区二区三区| 欧美亚洲一区在线| 亚洲精品自拍偷拍| 成人性生交大片免费观看嘿嘿视频| 欧美综合国产精品久久丁香| 国产精品揄拍一区二区| 欧美高清在线视频观看不卡| 亚洲色图35p| 成人免费午夜电影| 91在线观看免费网站| 国产精品视频一区二区三区四| 久久久久久久久久国产精品| 久久久精品中文字幕| 人人做人人澡人人爽欧美| 热久久99这里有精品| 国产精品第2页| 国产一区二区日韩| 国产精品久久久久久久久久东京| 亚洲性猛交xxxxwww| 国产成人自拍视频在线观看| 国产精品99久久久久久久久久久久| 综合国产在线观看| 国产亚洲美女久久| 黄色成人在线播放| 综合网日日天干夜夜久久| 亚洲区中文字幕| 久久成人国产精品| 国产欧美一区二区三区四区| 欧美激情久久久久| 久久久国产成人精品| 亚洲欧美日韩一区二区在线| 日韩精品视频在线观看网址| 日韩在线精品视频| 日韩中文字幕亚洲| 亚洲最大福利网| 日韩中文字幕在线视频| 色综合久久久久久中文网| 国产一区二区三区中文| 在线成人中文字幕| 国产一区二区视频在线观看| 日韩欧美在线视频免费观看| www.亚洲天堂| 欧美华人在线视频| 日韩中文视频免费在线观看| 亚洲在线免费观看| 国产一区二区三区视频免费| 777国产偷窥盗摄精品视频| 日韩中文视频免费在线观看| 成人激情视频在线播放| 美女av一区二区三区| 国产精品福利在线观看网址| 韩日精品中文字幕| 亚洲自拍另类欧美丝袜| 国产不卡av在线| 2020国产精品视频|