JSP由浅入深(12)—— 表单编辑
比如来自Blazix服务器的标志库在你的系统环境中不能使用,那么不使用标志库来实现相似的功能呢?本教程就是为这个问题而提出的。这个问题是可以解决的,只是代码要长一点。主要地,你必须亲自编辑HTML标志,然后将它设置缺省值。从下面的例子的例子中我们可以学到怎样修改GetName.jsp以提供类似于blx:getProperty的特性,但是我们只能手工地编辑HTML标志: w2 m* ^3 l2 h0 Q& K# T
5 ~0 @# l4 f; U+ _& ^% u- z
<jsp:useBean id="user" class="UserData" scope="session"/>
& X5 F3 H: w* b& ~+ V* ?5 r- k" I1 K1 x0 D! v
<HTML>* e1 e* m. q4 @2 ]
) t4 D1 p; B' r8 P2 k<BODY>: e2 C; S% D5 J% f
" h: ^# ^! f/ B6 H
<FORM METHOD=POST ACTION="SaveName.jsp">
; T- c& d* f; {$ h8 }
! [4 S+ f* ^1 ~$ ~7 _% \, UWhat's your name? <INPUT TYPE=TEXT NAME=username
$ G# q0 O- S \( a* f2 |8 i6 T! r1 ^% R4 T6 r
SIZE=20 VALUE="<%= user.getUsername() %>"><BR>5 i5 O! T& n' N7 u U1 N
) y+ K% m/ [; I7 C, L# h0 `
What's your e-mail address? <INPUT TYPE=TEXT# l( i( d1 l. Y6 V/ n
: y `. [2 S1 o, ~
NAME=email SIZE=20( A3 t( k/ J! A. c
8 ]8 i/ i# T9 U4 n* i1 [
VALUE="<%= user.getEmail() %>"><BR>' ~' }( k' N9 v) B
8 M/ ~6 W J6 ~What's your age? <INPUT TYPE=TEXT NAME=age
' a! f+ A7 n6 J3 K/ i3 l+ O& `% Z/ x- T* q
SIZE=4 VALUE=<%= user.getAge() %>>/ |# C" v% m! A0 v4 A3 w
/ O1 Y4 V2 e" i3 z0 j2 \0 B# ~- w
<P><INPUT TYPE=SUBMIT>* @: E c0 C' y
# g( @4 E3 t+ X5 }- Y8 r</FORM># f' H, f, Y; l; V6 B1 ~+ d, G
7 k3 H* c3 H( U
</BODY> M7 w8 D* `) o$ R4 ^4 ^
7 U- H" b: X1 W+ R. s% u
</HTML>
: j8 T8 p+ J$ A! H4 y2 G+ T- v5 }9 U, H' ^# e8 @- D1 _
如上面的代码所示,它只简单地在INPUT标志上增加一个“VALUE”区域,并且用一个表达是初始化这个区域。
2 ~6 n9 ]- d. M0 e2 I2 l$ i! B3 s
为了处理在输入过程中的异常错误,我们可以在bean中使用“String”区域并且将它转换为目标数据类型就可实现。所以这样也可以处理异常错误。
5 l+ R% l/ Y1 W5 U
+ B4 m& T9 f0 Q' r, Y作为课后练习,我们可以将前面教程中的例子改成不用Blazix标志库。
0 R6 e8 X. v% O4 [1 V- S- g# a8 S+ s1 N N' h# M R4 G6 R
; O. {- ~1 r/ x至此,本“JSP由浅入深”系列教程到此全部结束,希望对你有帮助。