在我们继续描述如何编写一个jsp调用JavaBean前,我们先来讨论一下jsp提供的使用javabean的三个tags.
# j! l2 }- f' ~" M) r; I
# k* X. d, X5 J4 J
1 J3 ?6 [. l+ i3 i3 E l$ h3 y3 c) \! { i. <jsp:useBean>
: `4 d+ P& y; W* t5 x9 O% h
" d& ~+ n8 Q7 H( Q8 P& } 这个标记被用于声明和实例化javabean类.语法如下:
7 O0 N/ L, j1 s$ c& { t" I/ X( @
- k3 z3 }, D/ D3 s* U+ Q. `
<jsp:useBean
4 s5 H! n1 U5 g% T5 S id="object-name"
" H N1 t8 y4 k. W% S& p* a
scope="page | request | session | application"
$ P+ J" j( U5 I type="type-of-object"
! K( J+ t6 @: t/ N class="fully-qualified-classname"
1 V+ c, I7 z1 v& W beanName="fully-qualified-beanName"
. W5 a. ]6 b9 F' u7 O$ t />
$ r5 [7 z) r# k) E+ m; f8 m# i) v& N, G9 e3 I
# B5 _* n: J( ~( K
让我们看看这些 属性:
! k/ V3 ?- X5 u% j+ q/ ? B
( I- C$ Y& F- Y4 `
id --对象的名字,比如:String name = null;在这句代码中,name就是id;
0 _0 h5 f; W4 g% {9 {
( c6 A( _# ~1 x8 P# X7 o scope--一个可选择的属性,当你的javabean 对象将被破坏时,默认的是page,他意味着每个页面将创建一个新的javabean;
1 _1 \$ J8 E+ q* f2 t4 q( [
$ N" D9 Y L8 y8 w) V: Y type---对象的类型,可以是相同的类或父类或者是该类要执行的接口,他的参数是可选.如:String name = "Faisal Khan";中的String就是我们所谈的.
/ D: `3 J3 H1 I% S0 T$ v
/ M: c) P# v2 A, _: X4 ?
class --一个完全有资格的类如

ate d = new java.util.Date();中java.util.Date就是我们所说的.
9 N' h( h) \* J% D: s6 c
beanName--也是一个完全有资格(fully qualified )的类;
! A; B6 }3 S* X) L% n- ?" K x
2 ~: I1 H; m% J& F1 L/ B ii. <jsp:setProperty>
2 o: Y+ {$ o1 [; r( c
3 Z& a$ T! j: ?) s% t7 A0 H 这个标记用于设计javabean的值,语法如下:
, o; R2 N5 S1 P( x$ E( }6 H0 k$ n
) U& ~8 ^3 |; _ z+ n
<jsp:setProperty
% O" T* b; o6 o4 O% n
name="id-of-the-JavaBean"
( A' [) n2 V, r1 M/ H+ H
property="name-of-property"
! f1 ? @% n; _- ~8 j
param="name-of-request-parameter-to-use"
6 q1 r; f' G% `: i7 }! t0 P2 U
value="new-value-of-this-property"
; ]: W4 a+ E9 z- |$ p- U- a3 p7 T) ]
/>
" G7 z! E. R2 {& o( P
! [; f/ f6 o8 c; D8 d& |6 H 起属性为:
) ?# X- ?, B! {) \- S6 v name--你设置的<jsp:useBean>的'id'
- l) T. k& C$ a2 v property --你想设置 的property的名字
! @1 l: I# H& s( R& A7 I
param--你本property中要请求的param的名字
+ z3 F6 s5 S& v) k4 a, x3 o% [* @
value ---在本property中你想设置的的新值
& g# D5 w! g' @7 q( ?+ {4 q
+ D$ l+ a$ v) P- c iii. <jsp:getProperty>
$ {5 P) S& ^, v6 N0 u7 ^
* k; a, Z, S, c4 }+ B% V 这个tag用于返回一个特定的property从一个特定的javabean中,语法如下:
7 y) n7 L3 K1 ~0 x$ w' n8 Q/ M. `
# d$ v$ U, t& Q
: k6 e1 `0 \% k5 m3 P, R! \) `8 Y <jsp:getProperty
. P- ~- P: p( w$ c name="name-of-the-object"
" E: ?+ ]3 Q$ U: d. @ property="name-of-property"
/ t$ y0 i/ A8 R2 d4 d( ^ e$ k />
. R6 v0 Z+ Q( e
8 I7 m! I! G9 ?/ ?5 k! m( o& n 属性:name--<jsp:useBean>中设置的'id'
6 [, a) Z4 L3 h6 w property--你想找回的property的名字
2 B Z* M6 ]* g- [ G3 q
好了,我们现在完成了学习操作javabean的jsp tags,再让我们花点时间来学习什么是scope属性:
/ \% {( _0 k& d% x9 D4 \6 A) Z
每个javabean类对象或者其他的类对象都有一个scope(范围),他的意思是这个对象在存储器中保留多长的时间,这里有四个scopes:
3 A1 p' N( B3 K9 v page--他意味桌一个新的对象将在每个页面级创建或破坏,当你没有明确的赋予其他值时,他是<jsp:useBean>默认.